私は2列あります。この言葉は、最初の文字列ではないので、私は2番目の文字列にのみ言葉「無煙炭」を維持する必要があり正規表現でこのsubstrを取得するには?
Ass. Présentation Chiara D29,5cm
Ass. Présentation Chiara Anthracite D29,5cm
を
ことが可能です。このような何かを?
私は2列あります。この言葉は、最初の文字列ではないので、私は2番目の文字列にのみ言葉「無煙炭」を維持する必要があり正規表現でこのsubstrを取得するには?
Ass. Présentation Chiara D29,5cm
Ass. Présentation Chiara Anthracite D29,5cm
を
ことが可能です。このような何かを?
この試してみてください。単一の正規表現となし、追加の書類と
<?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;
?>
それは私の使用のために大丈夫、ありがとう! – bahamut100
文字列をスペースで区切られた配列に分割し、アイテム数の最も多いものから最も少ないアイテム数の配列を削除することができます。残りのものは必要な単語になります。
EDIT:
$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);
この場合、array_diffがそれをしない限り、配列の最大値を検出してから最小値を引いたロジックを作ると思います。 – FRoZeN
多分ないそれについて移動する最良の方法が、そうのよう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);
'$ str1'が'Anthracite'と' $ str2'を含む文字列は 'Anthracite'のない文字列です。 –
れていません。 – ArjunShankar
両方の文字列で他の単語が同じ順序であることが保証されていますか? – ArjunShankar
[PHPの2つの文字列の違いを強調表示]の複製が可能です(http://stackoverflow.com/questions/321294/highlight-the-difference-between-two-strings-in-php) –