PHP正则表达式:匹配不以HTML标记开头的行?

时间:2011-04-03 19:09:25

标签: php html regex

这个问题看起来很简单,但我无法在网上看到它的一个例子......

我正在尝试创建一个一次占一行的preg_replace,如果以HTML字符开头,则会在其周围添加<p>个标记。

例如, 此段变为<p>this paragraph</p>

,而

<code>this content</code>保持不变,没有<p>标记。

实现这一目标的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以在(?!..)行开头标记后尝试^ negative assertion

$text = preg_replace('#^(?!<[a-z]).*$#m', '<p>$0</p>', $text);

但它不会测试完整的标签。它假设标签在看到<x时已存在。