检查一个单词是否只包含三个重复的字符

时间:2017-11-06 13:45:38

标签: php

我从MySQL数据库中检索结果,基本上只是一个单词列表。偶尔一个单词只包含三个重复的字符。如何检测这些单词并删除另外两个字符?

我可能会使用strlen()找到三个字母的单词,然后爆炸并进行比较,然后substr()去掉多余的字符,但这看起来很麻烦。有一个简单的方法吗?

示例数据:

house, dog, tree, aaa, cat, computer, sss, pink

预期产出:

house, dog, tree, a, cat, computer, s, pink

到目前为止我的代码:

do {
    $uterm = $row_Recordsetu['term'];
    $utermfixed = preg_replace("/(.)\1{2}/", "$0 --> $2 $1", $uterm);
    echo $utermfixed."<br>";
} while ($row_Recordsetu = mysqli_fetch_assoc($Recordsetu)); ?>

这不行。例如,它仍然返回“aaa”而不是“a”。

1 个答案:

答案 0 :(得分:0)

如果你想使用正则表达式,这将为你解决问题:

(.)\1{2}

您可以在此处测试:http://www.phpliveregex.com/p/lSR