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) {
    ...
}

请注意,这需要 PHP 5.3。“用户贡献的笔记”显示了许多解决方法。

于 2012-07-06T08:52:17.917 回答
0

you can use:

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

(code is not checked)

于 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 回答