在html标记内部时不要替换任何内容。 Preg Regex

时间:2011-07-02 18:02:13

标签: php regex preg-replace

我有这个正则表达式:

$buffer = preg_replace("/'([a-zA-Z0-9]+)'/iU",'$1',$buffer);

当引号之间没有空格时,它会删除单引号。 我也替换了一个html标签。我不希望它这样做。

这是一个例子

<div id="Foo"></div>

应该是:

<div id=Foo></div>

<script>Foo='Bar'</script>

不应该改变因此:

<script>Foo='Bar'</script>

1 个答案:

答案 0 :(得分:5)

HTML is unpredictable, and cannot be accurately handled with regular expressions.除非您创建了HTML并且可以非常非常确定其格式,否则请使用HTML解析器。即使你可以,HTML解析器也可能更容易使用,无论如何。

抱歉:/