2

と呼ばれる複数の値を持つ配列があります$my_replacements

という文字列があります$my_string

$my_replacements を反復処理し、$my_string で preg_replace を実行できるようにしたいので、今は次のようにしています。

foreach($my_replacements as $replacement) {
    preg_replace($replacement, '', $my_string);
}

これは問題なく動作しますが、$my_string の置換が行われたときにループを停止したいだけです。その場合、この新しい $my_string の値を取得し、値を置換したいと考えています。

どうすればいいですか?

4

1 に答える 1

0

何かを置き換える前に、結果を文字列と比較する必要があります。

foreach($my_replacements as $replacement) {
     $new_string = preg_replace($replacement, '', $my_string);
     if($new_string !== $my_string) {
         break;
     }
}

ドキュメントから

一致が見つかった場合、新しい件名が返されます。そうでない場合、件名は変更されずに返されるか、エラーが発生した場合は NULL が返されます。

そうでない場合は、中断します。つまり、ループを終了します。

于 2012-11-29T08:51:58.420 に答える