替换字符串中的单词,但如果之前有自定义字符串则不会?

时间:2014-07-09 12:10:38

标签: php regex preg-replace preg-match

如何替换字符串中的单词,但前提是该字词没有我之前选择的字符串?

示例我们有以下字符串:

String 1: long boat

String 2: jet boat

如何替换“船”这个词,但前一个词不是“喷射”?

我正在使用PHP,到目前为止我想出了这个。

preg_replace("/[\s+]boat/", "", $string);

这适用于具有“jet”之后的单词:

preg_replace("/[\s+]boat(?!\s*jet)/", "", $string);

1 个答案:

答案 0 :(得分:1)

<强>回顾后

使用此:

$replaced = preg_replace('~(?<!jet )boat~', '', $yourstring);

<强>解释

  • 负面的后视(?<!jet )声称当前位置之前的内容不是jet
  • boat与文字字符匹配
  • 我们用空字符串替换

<强>参考