如何使用 php 替换嵌套引号中的双引号
How can I replace double quotes in nested quotes using php
我通过富文本框在数据库中注册了一个动态字符串。像这样。
<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.
顺便说一句。这个字符串在富文本框中看起来很正常,但是用嵌套引号保存数据库
我的富文本框是:Summernote
使用 preg_replace_callback()
到 运行 正则表达式。 style=""
和回调函数中的代码select内容将"
替换为'
$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
我通过富文本框在数据库中注册了一个动态字符串。像这样。
<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.
顺便说一句。这个字符串在富文本框中看起来很正常,但是用嵌套引号保存数据库
我的富文本框是:Summernote
使用 preg_replace_callback()
到 运行 正则表达式。 style=""
和回调函数中的代码select内容将"
替换为'
$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