元気ですか?いきなり本題に入ります。
基本的に個々のまたはネストされた <blockquote> タグを削除する再帰的な正規表現を使用しています。プレーンな <blockquote> ... </blockquote> テキスト (ネストされているかどうかにかかわらず) を削除するだけで済み、これらの外側にあるものはすべて残します。
この正規表現は、私が望むとおりに正確に機能します(先読みと再帰の使用に注意してください)
$comment=preg_replace('#<blockquote>((?!(</?blockquote>)).|(?R))*</blockquote>#s',"",$comment);
しかし、大きな問題があります: $comment が大きい (3500 文字以上) と、Apache がクラッシュします (セグメンテーション違反だと思います)。
問題の解決策が必要ですが、クラッシュを解決するか、より良い正規表現を使用するか、同様に機能するカスタム関数を使用します。
ネストされた特定のタグを削除する方法についてアイデアがある場合は、歓迎します。
前もって感謝します