这个问题看起来很简单,但我无法在网上看到它的一个例子......
我正在尝试创建一个一次占一行的preg_replace,如果不以HTML字符开头,则会在其周围添加<p>
个标记。
例如,
此段变为<p>this paragraph</p>
,而
<code>this content</code>
保持不变,没有<p>
标记。
实现这一目标的最简单方法是什么?
答案 0 :(得分:3)
您可以在(?!..)
行开头标记后尝试^
negative assertion:
$text = preg_replace('#^(?!<[a-z]).*$#m', '<p>$0</p>', $text);
但它不会测试完整的标签。它假设标签在看到<x
时已存在。