我在理解正则表达式时遇到问题。这就是我所拥有的
$ pat =“/< [^>] *> /”;
此模式适用于删除所有HTML标记。但是当它用于删除<?php ?>
标记时,标记之间存在->
时会出现问题。
即
<?php
$obj->name;
$obj->reset();
?>
some other things outside
预期结果
some other things outside
实际结果
name;
$obj->reset();
?>
some other things outside
那么,如何在搜索中排除->
?
答案 0 :(得分:0)
您可以为<?php ?>
分隔符编写特殊例外代码,因此它优先于通用规则:
$pat = "/<[?].*?[?]>|<[^>]*>/";
或者您使用断言。不,这可能太难了。(?=...)
并允许->
作为替代