0

これらのサンプル文字列があります

"<textcolor='red'><h1>FAILED - NOT ENOUGH STEPS PERFORMED</h1></textcolor>"
"<b style='color:white; background-color:red'>FAILED</b>"

そこにあるすべてのHTMLフォーマットを取り除きたいので、これを取得します

"FAILED - NOT ENOUGH STEPS PERFORMED"
"FAILED"

小なり記号と大なり記号、およびそれらの間の何かを取り除くことでうまくいくと思います。これに preg_replace を使用できることはわかっていますが、使用する形式が正確にはわかりません。

4

2 に答える 2

6

私は次のようなことを考えていました:

$code = "<textcolor='red'><h1>FAILED - NOT ENOUGH STEPS PERFORMED</h1></textcolor>";
echo strip_tags($code);

前述のコードは次のように出力します。

FAILED - NOT ENOUGH STEPS PERFORMED

スタイリングが親要素から継承されていない限り、スタイリングはまったくありません。

strip_tags関数は、HTML 内のすべてのタグを削除する最も簡単で効果的な方法です。の目的はpreg_replace、「a」などで始まるものを変更するなど、さまざまな記号を削除または変更することですが、strip_tags の目的は特に HTML 入力をサニタイズすることです。

于 2012-08-30T07:38:30.883 に答える
1

strip_tags()が進むべき道のようです。preg_replace でできるかもしれませんが、信頼できるものにするのはかなり複雑です。

于 2012-08-30T07:38:25.680 に答える