检查字符串和htmlentities预先的一切

时间:2013-07-27 12:13:47

标签: php regex preg-replace

我正在尝试编写评论表单。

我正在考虑使用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.';

1 个答案:

答案 0 :(得分:5)

如果我的问题是对的,那么这应该有效:

$string_new = preg_replace_callback(
    '#<pre>([\\s\\S]+?)</pre>#',
    create_function(
        '$input',
        'return "<pre>".htmlentities($input[1])."</pre>";'
    ),
    $string
);