Php 如果介于<;预处理>;标签替换所有<;与&;书信电报;
我想替换所有的Php 如果介于<;预处理>;标签替换所有<;与&;书信电报;,php,regex,expression,Php,Regex,Expression,我想替换所有的,只需对这些字符进行编码 i、 e echo”“。htmlspecialchars($content)。""; 编辑 正如作者认为改变问题的主旨是合适的 用于将字符串拆分并根据需要应用htmlspecialchars 我建议使用正则表达式,这是我永远不会做的事情,但如果需要,这里有一种方法: $text=” 姓,名 ,菲利普 卡戴珊,金 墨丘利,弗雷迪 adgrgws,apvoih asvpaiovjas aspvojas ass0voj 姓2,名 ,菲利普 卡戴珊,金 墨丘利,
,只需对这些字符进行编码
i、 e
echo”“。htmlspecialchars($content)。"";
编辑
正如作者认为改变问题的主旨是合适的
用于将字符串拆分并根据需要应用htmlspecialchars
我建议使用正则表达式,这是我永远不会做的事情,但如果需要,这里有一种方法:
$text=”
姓,名
,菲利普
卡戴珊,金
墨丘利,弗雷迪
adgrgws,apvoih
asvpaiovjas aspvojas ass0voj
姓2,名
,菲利普
卡戴珊,金
墨丘利,弗雷迪
";
preg#u match#u all(“#\(.+?)\#s“,$text,$out);
var_dump($out[1]);
foreach($out[1]作为和$val){
$val=str_replace('如果没有嵌套的no,您就不会这样做。您永远不会用正则表达式破坏html。使用DOM。一旦您隔离了pre的“innerhtml”,那么您就可以htmlspecialchars()
并将该代码段重新插入dom。@MarcB请参见更新Mate您的问题根本不可能。什么是abc
意思?您应该使用标记。
preg_replace('\(<pre>)[<](<\/pre>)\', '<', $content);
echo "<pre>" . htmlspecialchars($content) . "</pre>";
$text = "<pre>
last_name, first_name
<bjorge>, philip
kardashian, kim
mercury, freddie
</pre>
adgrgws, apvoih
asvpaiovjas aspvojas ass0voj
<pre>
last_name2, first_name
<bjorge>, philip
kardashian, kim
mercury, freddie
</pre>";
preg_match_all("#\<pre\>(.+?)\<\/pre\>#s",$text,$out);
var_dump($out[1]);
foreach($out[1] as &$val){
$val = str_replace ( '<', '<',$val);
}
var_dump($out[1]);
$str = "<pre>< left < arrow < <</pre>";
$pattern = '~<pre[^>]*>\K.*(?=</pre>)~Uis';
$str = preg_replace_callback($pattern, function ($m) {
return str_replace("<", "<", $m[0]);
}, $str);
echo $str;