从字符串中提取每个单词的最佳方法是什么,例如:
one, two, "big three", four, "seven and eight"
其中用双引号括起来的应该被视为单个元素:
array("one", "two", "big three", "four", "seven and eight")
您应该使用 CSV 解析器,而不是自己滚动。PHP 有一个内置函数,可以完全满足您的需求 - str_getcsv
:
$tags = str_getcsv($string);
foreach($tags as $tag) {
...
}
请注意,这需要 PHP 5.3。“用户贡献的笔记”显示了许多解决方法。
you can use:
$tags = explode(',', $string);
foreach($tags as &$tag)
{
$tag = trim($tag);
}
(code is not checked)
如果您使用的是 php >= 5.3,那么您有函数 str_getcsv。
$tags = str_getcsv($tags, ',', '"', '\\');
$tags = array_map('trim', $tags);