私は2つの文字列を持っています:
Ass. Présentation Chiara D29,5cm
Ass. Présentation Chiara Anthracite D29,5cm
この単語は最初の文字列に含まれていないため、2番目の文字列には「無煙炭」という単語のみを含める必要があります。
このようなことは可能ですか?
文字列をスペースで区切られた配列に分割し、アイテム数が最も少ない配列からアイテム数が最も少ない配列を削除すると、必要な単語だけが残ります。
編集:
$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;
?>