删除字符串PHP中的最后重复单词出现

Tom*_*Tom 0 php

我需要在字符串中删除最后重复的单词,例如:

最后重复的一句是: all/

字符串输入示例:

  • item1/item2/all/
  • item1/item2/all/all/all/
  • item1/item2/all/all/all/all/

结果应该总是: item1/item2/

mar*_*rio 5

如果这些"单词"总是用斜杠分隔,那么它就像带有反向引用的正则表达式一样简单:

$str = preg_replace('#\b(\w+/)\1+$#', '', $str);
           //  here \b could be written as (?<=/) more exactly
Run Code Online (Sandbox Code Playgroud)

或者,如果all是要查找的固定字符串:

$str = preg_replace('#/(all/)+$#', '/', $str);
Run Code Online (Sandbox Code Playgroud)