我有 2 个字符串:
Ass. Présentation Chiara D29,5cm
Ass. Présentation Chiara Anthracite D29,5cm
我只需要在第二个字符串中保留“Anthracite”这个词,因为这个词不在第一个字符串中
有可能做这样的事情吗?
您可以将字符串拆分为一个以空格分隔的数组,然后从项目数最多的数组中删除项目数最少的数组,剩下的就是您需要的单词。
编辑:
$string1 = "Ass. Présentation Chiara D29,5cm"
$array1 = explode(" ",$string1);
$string2 = "Ass. Présentation Chiara Anthracite D29,5cm"
$array2 = explode(" ",$string2);
$difference = array_diff($array2,$array1);
也许不是最好的方法,但尝试使用explode
并array_diff
像这样:
$arr1 = explode(' ', $str1);
$arr2 = explode(' ', $str2);
$diff = array_diff($arr2, $arr1);
$diff
将是存在于$str2
但不存在于中的单词数组$str1
。
$words1 = explode(" ",$str1);
$words2 = explode(" ",$str2);
print_r(array_diff($words1,words2);
尝试这个:
<?php
$keywordString = "Ass. Présentation Chiara D29,5cm";
$keywordArray = explode(" ", $keywordString);
$string = "Ass. Présentation Chiara Anthracite D29,5cm";
$stringArray = explode(" ", $string);
foreach ($keywordArray as $keyword)
$stringArray = preg_grep("/{$keyword}/i", $stringArray, PREG_GREP_INVERT);
echo "<pre>";
print_r($stringArray);
echo "</pre>";
exit;
?>