2017-11-06 9 views
-3

私は、基本的に単語のリストだけをMySQLデータベースから検索します。場合によっては、単語は3つの繰り返し文字のみで構成されます。これらの単語を検出して2つの追加文字を取り除くにはどうすればよいですか?単語が3つの繰り返し文字のみで構成されているかどうかをチェック

おそらくstrlen()を使用して3文字の単語を見つけてから爆発させて比較した後、余分な文字を取り除くためにsubstr()を使用しても問題ありません。簡単な方法はありますか?

サンプルデータ:これまでに

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

マイコード:出力期待

house, dog, tree, aaa, cat, computer, sss, 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)); ?> 

しかしこれは動作しません。たとえば、 "a"の代わりに "aaa"を返します。

+2

を多くの方法があります。正規表現を読む。例:https://regexone.com/ – yivi

+1

試したことはありますか?私たちはここにコードを書くのではありません。 – pr1nc3

+0

申し訳ありません。コードが追加されました。努力のおかげで@テヨーが、私はまだそれを動作させることができません。 – blogo

答えて

0

あなたは正規表現を使用する場合、これはあなたのためのトリックを行います:

(.)\1{2} 

あなたはここでそれを試すことができます:http://www.phpliveregex.com/p/lSR

関連する問題