【问题标题】:Replace in-line style with new style用新样式替换内嵌样式
【发布时间】:2018-03-06 06:14:22
【问题描述】:
  $string = "<span style='position:absolute'>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
 tempor incididunt ut labore et dolore magna aliqua.</span> Ut enim ad minim veniam,
 quis nostrud exercitation <span style='color:white'>ullamco laboris nisi ut aliquip ex ea commodo color:white
 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
 cillum dolore eu fugiat nulla pariatur.</span> Excepteur sint occaecat cupidatat non
 proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";

我想替换和结果,只内联不是所有匹配的字符串

$string = "<span style='position:relative'>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
 tempor incididunt ut labore et dolore magna aliqua.</span> Ut enim ad minim veniam,
 quis nostrud exercitation <span style='color:black'>ullamco laboris nisi ut aliquip ex ea commodo color:white
 consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
 cillum dolore eu fugiat nulla pariatur.</span> Excepteur sint occaecat cupidatat non
 proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";

任何进一步的建议表示赞赏。我不知道你是如何让它正常工作的!

【问题讨论】:

  • 你还需要一个正则表达式吗?
  • @Calimero,我没有正则表达式
  • 简单的 preg_replace 就可以完成这项工作。你甚至可以使用 str_replace 来做同样的事情。 echo preg_replace("/:blue/", ":red", $var);。为了使其更安全,请根据您的要求调整您的正则表达式。

标签: php regex preg-replace preg-match


【解决方案1】:

我不确定总要求,但希望对您有所帮助。您可以使用str_replacepreg_replace。所以这是代码

选项1。

$var = "<h2 style='color:blue;'>I want this heading to be blue instead of default red</h2>";

$newphrase = str_replace('color:blue;', 'color:red;', $var);
echo $newphrase;

选项2。

$newphrase = preg_replace("/:blue/", ":red", $var);
echo $newphrase;

两者都给出相同的输出

【讨论】:

    猜你喜欢
    • 2017-03-13
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 2010-10-07
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多