2

昨日、次のような音節の繰り返し単語を削除しようとしました :haha dadada wkwkwkなど これを使用してみました :preg_replace("/^(.*)(\\1+)$/", "", $text)

さて、問題が発生しました。ケースは、次の場合です。

  1. $text=hahaまたは$text=wkwkwk ==> $text のテキストが削除されます
  2. $text=text beside haha ==> $text のテキストはそのままです。

これを試すことができます:

<?php
$txt = 'removed : '.preg_replace("/^(.*)(\\1+)$/", "", "hahaha").'<br>not remove : '.preg_replace("/^(.*)(\\1+)$/", "", "there is text beside hahaha");
echo $txt;
?>

私の希望は、2 番目の $text のようなテキストで繰り返される単語音節を削除できることです。したがって、出力番号 2 はtext beside

4

1 に答える 1

1

ハンカを外す

/(.*)(\\1+)/

lelet単語境界を使用するなど、単語を削除したくない場合:

/(.*)(\\1+)\b/
于 2013-06-14T13:30:46.693 に答える