0

この式を作成して、ページ内のすべての空の(空白のみのタグを含む)タグを削除しました。

$content =  preg_replace('/<[^\/>]*>([\s]?)*<\/[^>]*>/', '', $content);

このようなコンテンツを処理する必要があるまで、それは扱いました...

 <blockquote>
<p >foo bar</p>
</blockquote>
<p ><a href="image.jpg" rel="lightbox" title=""><img  title="image" src="image.jpg" /></a><br /></p>

そしてそれを次のように出力します...

<blockquote>
<p >this is a test for the pluggin</p>
<p ><a href="image.jpg" rel="lightbox" title=""><img  title="image" src="image.jpg" /></a><br /></p>

したがって、を削除し</blockquote>ます。

私はこれに頭を悩ませていて、それを機能させることができません。フォーマットするタグを指定する以外に、明らかな解決策を誰かが見ることができますか?また、ワードプレスの投稿で「the_content」をフォーマットしているとも言えます。

4

2 に答える 2

3

HTMLは通常の構文ではなく、エッジケースや落とし穴がないため、正規表現とHTMLは適切に一致しません。このようなHTMLパーサーを使用し、DOMオブジェクトを検査/操作することをお勧めします。

于 2009-12-12T12:27:26.677 に答える
0

すべてのタグを取得できない場合は、Simple HTML Dom よりも高度なHTML Purifierも参照してください。

于 2009-12-12T12:50:12.563 に答える