0

この種の質問が以前に尋ねられ、回答されたことは知っていますが、パターン マッチでエラーを特定することはできません。

いくつかの非常に厄介な従来のデータベース入力のために、2 つの html 特殊文字の間のものを削除しようとしています。その後、残りの処理に進みます。元のコードは1<b>21 の後に太字になっていましたが、最終的には次のようになりました。1&lt;b&gt;2

1&lt;&gt;2またはのいずれかを残したい1 2

私も近いですか?

thxアート

$str = '1&lt;b&gt;2';
$output = preg_replace('/&#?[a-z0-9]{2,8};(.*?)\/&#?[a-z0-9]{2,8};/is', '',$str); 
4

2 に答える 2

2

真ん中のスラッシュを削除する必要があるようです

/&#?[a-z0-9]{2,8};[^&]+&#?[a-z0-9]{2,8};/is
于 2012-06-26T02:36:24.187 に答える
0

あなたはやろうとしましたか:

$str = strip_tags(html_entity_decode('1&lt;b&gt;2'));

または、タグをスペースなどの別のものに置き換えたい場合:

$str = html_entity_decode('1&lt;b&gt;2');
$output = preg_replace('/<\/?[^\>]+>/ui', ' ',$str);
于 2012-06-26T02:26:12.160 に答える