この特定のパターンはregex101でテストしていますが、私のコードではテストしていません。複数行正規表現はPHPではなく、オンラインで動作します
/(?s)%if_something%.*%endif_something%/
問題のコード:行動を返すことです期待
$text = "abc
%if_something%
<p>Content to potentially remove</p>
%endif_something%
123";
$regex = "/(?s)%if_something%.*%endif_something%/"
preg_replace($regex, '', $text);
。
"abc
123"
私は疑うregex101は、PHPの文字列と同じ空白や改行キャリッジを扱うが、それでも私のPHPの文字列から空白を削除していない、私はまだ試合を得ることはありません。
残っているものは、今 'ABCの\ nは\ n123' – rock321987
@ rock321987です – veksen
これをチェックしてください: - http://ideone.com/PAIUJ6 – rock321987