1

開始<p>タグと一致しないすべてのタグを削除したい。私はこのようなsthを持っています:

 preg_replace("/<(?!p)>/", "", $html);

しかし、それは機能しません。どうしたの?

4

3 に答える 3

5

を使用してくださいstrip_tags()、それはそれが存在するものです。

$stripped = strip_tags( $str, '<p>' ); // Allow only paragraph tags

ここでのデモ:http://codepad.org/NEUEBWg7

この関数は、許可されたタグの属性には影響を与えないことに注意してください。ユーザー入力をフィルタリングする場合は、などonclickの属性が悪用されて不正な動作を実行する可能性があることを必ず考慮してください。

于 2012-04-26T14:27:19.760 に答える
3

strip_tags is what you need. Just do this:

$result=strip_tags($html,"<p>");
于 2012-04-26T14:29:11.930 に答える
2

最も基本的には、strip_tags()HTMLを削除するために使用します。

echo strip_tags($text, '<p>');

さらに良いのはHTMLPurifierです

于 2012-04-26T14:27:30.897 に答える