我有一篇文章,里面有内容。我想找到没有html标签的句子然后用html段标签包装它。 代码如下 -
<p>line 1 </p>
line 2
<p> line 3 </p>
line 4
<p> line 5 </p>
line 6
&#13;
但我希望输出像这样 -
<p>line 1 </p>
<p>line 2 </p>
<p>line 3 </p>
<p>line 4 </p>
<p>line 5 </p>
<p>line 6 </p>
&#13;
答案 0 :(得分:0)
你不应该用正则表达式解析HTML。
但是如果你绝对想要,这里就是一个。
以下正则表达式将选择不使用标签的行:
^(?!<p>).*(?!<\/p>)
您可以将匹配替换为:
<p>$0</p>
以下是一个例子:
$re = '/^(?!<p>).*(?!<\/p>)/m';
$str = '<p>line 1 </p>
line 2 unwrapped
<p> line 3 </p>
line 4 unwrapped
<p> line 5 </p>
line 6 unwrapped';
$subst = '<p>$0</p>';
$result = preg_replace($re, $subst, $str);