从整个字符串中提取标签(单词)

时间:2012-07-06 08:47:11

标签: php string

从字符串中提取每个单词的最佳方法是什么:

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

用双引号括起来的那些应该被视为一个单独的元素:

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

3 个答案:

答案 0 :(得分:3)

您应该使用CSV解析器,而不是自己滚动。 PHP具有内置函数,可以完全按照您的需要进行操作 - str_getcsv

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

请注意,这需要PHP 5.3。 “用户提供的注释”显示了许多解决方法。

答案 1 :(得分:0)

你可以使用:

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

(未检查代码)

答案 2 :(得分:0)

如果您使用的是php> = 5.3,那么您将拥有str_getcsv函数。

$tags = str_getcsv($tags, ',', '"', '\\');
$tags = array_map('trim', $tags);