什么是最佳的方式从字符串中提取每个词,如:提取物标签(字)
one, two, "big three", four, "seven and eight"
其中那些具有双引号应该被视为一个单一的元素:
array("one", "two", "big three", "four", "seven and eight")
什么是最佳的方式从字符串中提取每个词,如:提取物标签(字)
one, two, "big three", four, "seven and eight"
其中那些具有双引号应该被视为一个单一的元素:
array("one", "two", "big three", "four", "seven and eight")
如果你使用php> = 5.3,那么你有str_getcsv函数。
$tags = str_getcsv($tags, ',', '"', '\\');
$tags = array_map('trim', $tags);
你可以使用:
$tags = explode(',', $string);
foreach($tags as &$tag)
{
$tag = trim($tag);
}
(代码不打勾)
您应该使用CSV解析器,而不是滚动自己的。 PHP有一个内置的功能,你想要做— str_getcsv
正是:
$tags = str_getcsv($string);
foreach($tags as $tag) {
...
}
注意,这需要PHP 5.3。 “用户贡献的笔记”显示了很多解决方法。
这不会处理某些输入权限,例如:... two,“big,three”,four,... – Ron 2012-07-06 08:51:01
为什么&$ tag?这是因为php5 – Ron 2012-07-06 08:54:26
@Ron:真的吗?为什么?你现在应该如何迭代和修改? – Eric 2012-07-06 08:55:41