にタグとその内容を交換し、私はこのコードですべての書式を削除するために管理:見つけ、私はBBコード含む文字列を持っているPHP
$plain_text = strip_tags(str_replace(array('[',']'), array('<','>'), $message));
しかし、私は削除するコードの一枚を持っていますその内容 このコード:
[ATTACH=full]4281[/ATTACH]
番号「4281」は常に異なるものになりますので、どのように私はそれを削除することができますか?
私が試した:
preg_replace("/[ATTACH=full](.*)[\/ATTACH]/eis", '', $message);
しかし、それは動作しませんが。私はそれが "添付=完全な"部分と等号と関係があると思います。
アイデア?ありがとう。
正規表現でHTMLを解析しないでください。代わりに[PHP DOMパーサ](http://simplehtmldom.sourceforge.net/)を使用してください。 –
等号には特別な意味はありません。大括弧で囲まれています(文字クラス)ので、それらをエスケープする必要があります。そして、 'e'修飾子を削除してください - それは廃止されていないことと警告を生成すること以外は、とにかくここでは有用な目的はありません。 – CBroe
@JayBlanchard、それは常にあなたが達成したいと思っているかどうかにかかっています。パフォーマンスの場合、誰も正規表現を打つことはできません – kirugan