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 回答