我收到了这个字符串:
星球大战旧共和国旧共和国
我用粗体标出了明显的标志:旧的共和国是重复的,我需要摆脱它。
我尝试了像这样的 preg_replace 来检测彼此之后的重复模式,比如The ...但是我没能摆脱像旧共和国那样更长的重复模式。
$str = $game_title;
$pattern = "/\b([\w'-]+)(\s+\\1)+/i";
$replacement = "$1";
print preg_replace($pattern, $replacement, $str) ."<br>";
答案 0 :(得分:2)
试试这个
$str = 'Star Wars The Old Republic The Old Republic';
echo $str = implode(' ',array_unique(explode(' ', $str)));
这将为您提供星球大战旧共和国,并从字符串中删除重复。