-3
我正在尋找一種方法來提取PHP中的字符串公共子字符串。例如,如果我有一個這樣的數組:在PHP中提取字符串之間的平等部分
$strings[0] = "the 1 o";
$strings[1] = "the 1 e";
$strings[2] = "the 2";
$strings[3] = "the rere";
$strings[4] = "the rere 2";
$strings[5] = "the rere1";
echo sametext($strings);
我想要一個函數返回的所有字符串具有共同的部分。在這種情況下,它會返回「the」。
我至今是:
function find($string){
$same = array();
$let = str_split($string[0]);
for($k=0 ; $k< count($string) ; $k++){
$let2 = str_split($string[$k]);
for($i=0 ; $i< count($let) ; $i++){
if($let[$i]==$let2[$i]){
$same[$k] = $same[$k].$let[$i];
}
}
}
最後我想構建了一句,如果我做
$strings[0] = "the black 1 o";
$strings[1] = "the blackr 1 e";
$strings[2] = "the black 1";
$strings[3] = "the black 1";
$strings[4] = "the black 1 2";
$strings[5] = "the black 1";
$all = array();
foreach($strings as $string) {
foreach(explode(' ', $string) as $value) {
$all[] = $value;
}
}
echo '<pre>';
$count = array_count_values($all);
//echo max($count);
$maxs = array_keys($count, max($count));
//echo $maxs;
//arsort($count);
print_r($maxs);
的MAXS VAR將包含「的」和「1」,但我只想要
你嘗試過什麼嗎?如果是這樣,告訴我們什麼。 – vascowhite
聽起來,它需要大量的比較(只是想一下,有點)...除此之外,它會匹配單詞或字母嗎?如果是這樣,我將開始使用正則表達式來檢索字符串中的所有單詞(使用preg,'\ b'斷言可能很有用)。儘管如此,這聽起來像一個相當複雜的任務...... – Max