3

我得到了这个字符串:

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

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

我尝试了这样的preg_replace来检测彼此跟随的重复模式,比如 The the ... 但我无法摆脱像旧共和国这样的更长的重复模式。

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

1 回答 1

2

试试这个

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

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

于 2013-03-09T11:53:29.850 回答