1

私は2つの文字列を持っています:

Ass. Présentation Chiara D29,5cm
Ass. Présentation Chiara Anthracite D29,5cm

この単語は最初の文字列に含まれていないため、2番目の文字列には「無煙炭」という単語のみを含める必要があります。

このようなことは可能ですか?

4

4 に答える 4

1

文字列をスペースで区切られた配列に分割し、アイテム数が最も少ない配列からアイテム数が最も少ない配列を削除すると、必要な単語だけが残ります。

編集:

$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);
于 2012-05-03T08:13:52.720 に答える
1

おそらくそれを回避するための最良の方法ではありませんが、次のように使用してみてexplodeくださいarray_diff

$arr1 = explode(' ', $str1);
$arr2 = explode(' ', $str2);
$diff = array_diff($arr2, $arr1);

$diff$str2に存在するが、には存在しない単語の配列になります$str1

于 2012-05-03T08:16:04.740 に答える
0
$words1 = explode(" ",$str1);
$words2 = explode(" ",$str2);

print_r(array_diff($words1,words2);

http://php.net/manual/en/function.array-diff.php

于 2012-05-03T08:16:20.780 に答える
0

これを試して:

<?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;
?>
于 2012-05-03T08:26:06.443 に答える