一部のコンテンツの終了タグまで、特定のタグを非表示にしたいのですが、適切に機能させることができません。
これは私が持っているものです:
$fnc_patterns = "/\[display=[^!]+\]?.*\[\/display=[^!]+\]/";
$str = preg_replace($fnc_patterns, '', $str);
$str = "Dummy text text dummy [display=hide]hide this[/display=hide] but it also [display=no_hide]hides this[/display=no_hide] and not [display=hide]this[/display=hide] :(!";
//Outputs: Dummy text text dummy :(!
ただし、この関数の前にDummy text text dummy but it also hides this :(!
I replaceと close tagを出力する必要があります。問題は、 and[display=no_hide]
の間のすべてを単純に置き換えることですが、最初の終了タグの出現で停止する必要があります。どうやってやるの?[display=XXX]
[/display=XXX]
(またはXXX
だけでなく、すべてになる可能性があることに注意してください)hide
no_hide
前もって感謝します!