0

次のような文字列から各単語を抽出する最適な方法は何ですか。

one, two, "big three", four, "seven and eight"

二重引用符で囲まれたものは、単一の要素として扱う必要があります。

array("one", "two", "big three", "four", "seven and eight")
4

3 に答える 3

3

独自のパーサーを使用するのではなく、CSVパーサーを使用する必要があります。PHPには、必要なことを正確に実行する組み込み関数があります— str_getcsv

$tags = str_getcsv($string);
foreach($tags as $tag) {
    ...
}

これにはPHP5.3が必要であることに注意してください。「ユーザー投稿メモ」には、このための多くの回避策が示されています。

于 2012-07-06T08:52:17.917 に答える
0

使用できます:

$tags = explode(',', $string);
foreach($tags as &$tag)
{
    $tag = trim($tag);
}

(コードはチェックされません)

于 2012-07-06T08:49:02.727 に答える
0

php> = 5.3を使用している場合は、関数str_getcsvがあります。

$tags = str_getcsv($tags, ',', '"', '\\');
$tags = array_map('trim', $tags);
于 2012-07-06T08:57:32.800 に答える