【问题标题】:preg_replace character in span tag跨度标记中的 preg_replace 字符
【发布时间】:2016-05-27 02:17:10
【问题描述】:

我有这样的字符串

<span style="font-size: 11pt; font-family: arial, helvetica, sans-serif;">I want replace this text to other text</span>
<span style="font-size: 18pt; font-family: arial, helvetica, sans-serif;">I want replace this text to other text</span>

我想用PHP来制作

    <span style="font-size: 11pt; font-family: arial, helvetica, sans-serif;">I want replace <a href="#">this text</a> to other text</span>
<span style="font-size: 18pt; font-family: arial, helvetica, sans-serif;">I want replace this text to other text</span>

我只希望文本具有跨度样式 font-size:11pt 替换 请帮帮我 谢谢

【问题讨论】:

  • 您在替换时遵循的模式是什么?
  • 是的,我可以尝试,但您需要指定替换的位置 href..它不能在任何地方..文本中必须有一些特定的点您想要替换它
  • 如果span标签后面的文字是“我想要”,你能帮帮我吗
  • 你想在href中保留多少?
  • here

标签: php regex


【解决方案1】:

根据您的 cmets,此正则表达式将起作用

((?:.*?<span.*?style\s*=\s*"font-size\s*:\s*11pt[^>]*>))(.+?)(this text)(.*?(?<=<\/span>|$))

Regex Demo

【讨论】:

  • 谢谢我正在编辑模式 /((?:.*]*>))(.+?)(this text )((.+?))/ 替换 $1$2this text$4
  • @LapDam 你只提到了两个词..我认为它们是从开始的..你的正则表达式是贪婪的..在我的回答中查看更新的一个
  • @Downvoter 请在投票前发表评论
  • @rock321987:反对者在反对时很少客观。请参阅this 否决票。一旦 OP 接受答案,我总是会放弃我的反对意见(除非答案完全错误并且 OP 在接受它时犯了一个错误)。最糟糕的是,当您对已接受的答案评分为负时,因为您无法将其删除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多