Php 用新样式替换内嵌样式

Php 用新样式替换内嵌样式,php,regex,preg-replace,preg-match,Php,Regex,Preg Replace,Preg Match,我想替换和结果,只内联而不是所有匹配的字符串 $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 nostru

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

  $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.";

如有进一步建议,不胜感激。我不知道你是怎么让它正常工作的

我不确定总需求量,但希望能对您有所帮助。您可以使用str_replace或preg_replace。这就是代码

选择1

两者的输出相同


你需要一个regexp吗?@Calimero,我没有这个简单的preg_替换的regexp。您甚至可以使用str_replace来执行相同的操作。echo preg_replace/:蓝色/,:红色,$var;。为了使它更安全,请根据您的要求调整您的正则表达式。
$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.";
$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;
$newphrase = preg_replace("/:blue/", ":red", $var);
echo $newphrase;