我通过富文本框在数据库中注册了一个动态字符串。这样。
<p style="color: rgb(0, 0, 0); font-family: "Times New Roman"; font-size:"
medium;">LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISCING ELIT.</p>
<ol style="color: rgb(0, 0, 0); font-family: "Times New Roman"; font-size:"
medium;"><li>BONUM VALITUDO: MISER MORBUS.</li></ol>
我尝试替换style
标记中的双引号。但是我没有。如何使用PHP。
顺便说一句。该字符串在富文本框中通常看起来很正常,但是使用嵌套的引号保存数据库
我的Rich Textbox是:Summernote
答案 0 :(得分:0)
使用preg_replace_callback()
运行正则表达式。代码选择style=""
内部和回调函数中的内容,将"
替换为'
$newStr = preg_replace_callback("/(?<=style=\")([^>]+)(?=\">)/", function($matches){
return str_replace('"', "'", $matches[1]);
}, $str);
请注意,对于样式的最后一部分,您的样式不是'
。因此,您可以将此代码添加到样式末尾的'
中。
$newStr = preg_replace_callback("/(?<=style=\")([^>]+)(?=\">)/", function($matches){
$replace = str_replace('"', "'", $matches[1]);
return substr($replace, -1) == "'" ? $replace : $replace."'";
}, $str);
在demo中查看结果