选择不在<p>标签内的文字</p>

时间:2013-01-19 19:34:42

标签: php html regex

我的网站上有一个WYSIWYG编辑器。它只创建几个html标签(p,br,b,i,strike,img,a) 我想在&lt; p&gt;中包装所有文本。标签,因此没有包装的文本&lt; p&gt;。

由此:

<p>Some text here. This is ok.</p>
Some text here. This is NOT ok.
<p>Some text here. This is ok.</p>

我想得到这个:

<p>Some text here. This is ok.</p>
<p>Some text here. This is NOW ok.</p>
<p>Some text here. This is ok.</p>

这样做的最佳方法是什么?

提前谢谢。

修改

我想用PHP做这个服务器端。

2 个答案:

答案 0 :(得分:1)

我设法用phpQuery做到了。

$doc = phpQuery::newDocument($string);
$doc->contents()->not('p')->wrap("<p>");
$string = $doc->html();

答案 1 :(得分:0)

不完全确定这是否有帮助但我在将HTML转换为纯文本时发现了这一点。您可以使用其中的一些代码来过滤

标记之间的文本。 http://psoug.org/snippet/Convert-HTML-to-plain-text_36.htm