PHP删除字符串中的重复模式

时间:2013-03-09 11:44:39

标签: php string pattern-matching

我收到了这个字符串:

  

星球大战旧共和国旧共和国

我用粗体标出了明显的标志:旧的共和国是重复的,我需要摆脱它。

我尝试了像这样的 preg_replace 来检测彼此之后的重复模式,比如The ...但是我没能摆脱像旧共和国那样更长的重复模式。

 $str = $game_title;
    $pattern = "/\b([\w'-]+)(\s+\\1)+/i";
    $replacement = "$1";
    print preg_replace($pattern, $replacement, $str) ."<br>";

1 个答案:

答案 0 :(得分:2)

试试这个

$str = 'Star Wars The Old Republic The Old Republic';
echo $str = implode(' ',array_unique(explode(' ', $str)));

这将为您提供星球大战旧共和国,并从字符串中删除重复。