如何在PHP文件中排除` - >`?

时间:2011-10-21 02:24:48

标签: php regex

我在理解正则表达式时遇到问题。这就是我所拥有的

  

$ pat =“/< [^>] *> /”;

此模式适用于删除所有HTML标记。但是当它用于删除<?php ?>标记时,标记之间存在->时会出现问题。

<?php
  $obj->name;
  $obj->reset();
?>
some other things outside

预期结果

some other things outside

实际结果

  name;
  $obj->reset();
?>
some other things outside

那么,如何在搜索中排除->

1 个答案:

答案 0 :(得分:0)

您可以为<?php ?>分隔符编写特殊例外代码,因此它优先于通用规则:

$pat = "/<[?].*?[?]>|<[^>]*>/";

或者您使用断言(?=...)并允许->作为替代。不,这可能太难了。