0

私はPHPプログラミングが初めてです。宿題を終わらせるためにあなたの助けが必要です。

次の文を爆発させたい: I love my band and my cat to array.

しかし、スペースと単語区切り文字として使用する必要があります。したがって、次のようになります。

$arr[0] -> I
$arr[1] -> love
$arr[2] -> my
$arr[3] -> band
$arr[4] -> my
$arr[5] -> cat

私はこのように試しました:

$words = "I love my band and my cat"
$stopwords = "/ |and/";
$arr = explode($stopwords, $words);

しかし、問題は、文字と単語バンドからも削除されるため、次のようになることです。

$arr[0] -> I
$arr[1] -> love
$arr[2] -> my
$arr[3] -> b
$arr[4] -> my
$arr[5] -> cat

これは私が望むものではありません。and文字を含む単語ではなく、正確にandという単語を削除したいと思います。

とにかくこれを解決する方法はありますか?誰でも私を助けることができますか?どうもありがとうございました.. :-)

4

2 に答える 2

3

and単語の途中で分割されないようにする場合は、結果リスト( array_diff)をフィルタリングするか、より複雑な正規表現を使用する必要があります。preg_match_all次に、分割する代わりに次のことも検討してください。

 preg_match_all('/  (?! \b and \b)  (\b \w+ \b)  /x', $input, $words);

これは、スペースで分割するのではなく、連続する単語文字のみを検索します。そして、アサーションはの?!発生をスキップしandます。

于 2013-02-20T03:23:59.227 に答える
-4

これを試して:

<?php
$words = "I love my band and my cat";
$clean = str_replace(" and",'',$words);
$array = explode(" ",$clean);
print_r($array);
?>
于 2013-02-20T03:19:31.497 に答える