我有一个字符串抛出了几个php错误。
我正在使用一些正则表达式从图像和iframe中剥离<p>
标签。
我也使用regex替换<br'>
与两个<br'><br'>
。
我在wordpress的$content
上使用它。
抛出错误,因此在the_content();
如果我删除函数,内容看起来很好,尽管没有改变格式。
我想如果我修复这些错误的内容将工作良好,但我不知道如何调整正则表达式。
错误如下:
[12-Aug-2014 19:46:46 UTC] PHP Warning: preg_replace(): Unknown modifier '>' in /functions.php on line 101
[12-Aug-2014 19:46:46 UTC] PHP Warning: preg_replace(): Unknown modifier 'f' in /functions.php on line 102
[12-Aug-2014 19:46:46 UTC] PHP Warning: preg_replace(): Unknown modifier '?' in /functions.php on line 133
当然还有代码:
function filter_ptags($content){
$content = preg_replace('/<p>s*(<a .*>)?s*(<img .* />)s*(</a>)?s*</p>/iU', '123', $content);
return preg_replace('/<p>s*(<iframe .*>*.</iframe>)s*</p>/iU', '1', $content);
}
function strip_content($content){
$content = preg_replace(array('/(<brs*/?>s*){1,}/'), array('<br/><br/>'), $content);
}
需要在正则表达式中转义
/
。应该是'/
应该是
's*
而不是s*
来匹配零或多个空白
改变:
(<brs*/?>s*){1,}
:
(<br's*'/?>'s*){1,}
这是一个在线演示,你可以验证你的正则表达式