我正在尝试编写评论表单。
我正在考虑使用strstr查找<pre>
是否存在,以及是否确实使用htmlentities将其中的所有内容都转换为html。
但是我遇到的问题是实际转换前的所有内容。
我的代码变为真,但如何替换。
我在看preg_replace但是我的正则表达式真的很差:)
示例:
$string = 'This is a form with <pre>Everything in this needs to be htmlentities() </pre> and everything outside needs to be normal.';
答案 0 :(得分:5)
如果我的问题是对的,那么这应该有效:
$string_new = preg_replace_callback(
'#<pre>([\\s\\S]+?)</pre>#',
create_function(
'$input',
'return "<pre>".htmlentities($input[1])."</pre>";'
),
$string
);