Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP检测重复单词_Php_Detect - Fatal编程技术网

PHP检测重复单词

PHP检测重复单词,php,detect,Php,Detect,是否可以从该字符串中检测重复的单词: $string = "dogdog"; 我只想要返回“str”而不是“strstr” 我尝试了一些很好的解决方案,但并没有达到我想要的效果: $string = "dogdog"; $length = strlen($string) / 2; echo substr($string, $length); 我想从一个大句子中检测出($string=“dogdog something dogdog else bla bla,something,(somet

是否可以从该字符串中检测重复的单词:

$string = "dogdog";
我只想要返回“str”而不是“strstr”

我尝试了一些很好的解决方案,但并没有达到我想要的效果:

$string = "dogdog";
$length = strlen($string) / 2;
 echo substr($string, $length);
我想从一个大句子中检测出($string=“dogdog something dogdog else bla bla,something,(something);something”…..字符串包含两个重复的正确的单词,如何检测并将其固定到一个真正的单词?

/你的句子变成一个单词数组,然后在每个单词上使用你的技巧


您没有指定“单词”的构成;这将准确地确定需要在哪些分隔符上分解。

您应该迭代地执行此操作。这是一个开始:

//turn punctuation into something we can split on
$sanitized = preg_replace('/[^a-z0-9]+/i', '_', $string);
$words = explode("_",$sanitized);

//now that you have a 'clean' array, do logic
foreach($words as $word) {
    //tinker with word dup' logic here.
}

问:你所说的“重复”是什么意思?那个“strstr”有两次字符串“str”?问:如果是的话,“st/st”等怎么办?什么是“单词”?例如,“strstr abc def”是三个单词吗?那么“aaaaaaaa”呢?它只返回“a”吗?那么“aabbaa”会返回“ab”吗?这就是我的理解,如果您想从“strstrstr”返回“str”,请提供示例输入/输出。例如,“这是一个长句”=>“这是一个长句”,“strstrstr”=>“str”,“strstrstrstrstr”=>“str”,“一二二三三三”=>“一二三”。所有这些都对吗?@Wrikken:三个星期是很久很久以前的事了吗?(天哪,我一定是老古董了。:-)对这个问题的修改导致它现在变得更加没有意义了。在你的新例句中,期望的输出是什么?这会有点复杂,这个句子不会只包含spaces@Osa:好吧,也许基于
的天真爆炸是不够的,但基本思想是一样的。您还没有指定句子中可能还有什么,因此您必须找出需要引入的其他分隔符。@OliCharlesworth请参见上面的OPs注释。句子不仅包含空格,还包含多种要分解的符号,这非常复杂,strstr可以在多个地方找到。。我刚刚编辑了sentence@Osa当前位置如果一个单词出现在句子中的多个位置,为什么会出现问题?