PREG_REPLACE:未知修饰符
假设$BODY等于
something
that
does
not
interest
me
<!-- start -->
some
html
code
<!-- end -->
something
that
does
not
interest
me
如果我使用
$body=preg_replace("(.*)<!-- start -->(.*)<!-- end -->(.*)","$2",$body);
我获得:
警告:preg_place()[function.preg-place]:未知修饰符‘<;’
如何更正?
解决方案
模式需要一对分隔模式本身的字符。在这里,您的模式包含在第一对括号中,其他所有内容都在外面。
试试这个:
$body=preg_replace("/(.*)<!-- start -->(.*)<!-- end -->(.*)/","$2",$body);
这只是语法问题,不能保证模式本身看起来可疑。
假设您的示例中的文本:
preg_match('#<!-- start -->(.*?)<!-- end -->#s', $text, $match);
$inner_text = trim($match[1]);
相关文章