我知道,如果我使用以下代码:
<?php
$tags = "hello, bye, test";
$tags = explode(",", $tags);
?>
它会用逗号分隔。但我仍然有空间,我想在没有这些空间的情况下将这些值保存在数据库中。我该怎么做?
如果空间总是存在,则使用以下快速解决方案:
$tags = "hello, bye, test";
$tags = explode(", ", $tags);
否则(正如Michael建议的那样(,您可以调整值:
$tags = "hello, bye, test";
$tags = explode(",", $tags);
$tags = array_map('trim', $tags);
使用以", "
为分隔符的爆炸符怎么样?
$tags = "hello, bye, test";
$atags = explode(", ", $tags);
获取此:
print_r($atags);
Array ( [0] => hello [1] => bye [2] => test )
我知道这不是最漂亮的解决方案,但它也有效。
编辑
来自评论"是的,但它应该像stackoverflow上的标签系统一样双向工作。例如,它应该拆分"hello,bye"以及"hello、bye"answers"hello bye"–Xegano 1分钟前">,
在这种情况下,您应该只使用带有","
的爆炸,然后修剪单词周围的空白。类似这样的东西:
$tags = "hello, bye, test";
$atags = explode(",", $tags);
$atags = array_map('trim', $atags);
<?php
$tags = "hello, bye, test";
$tags = array_map(
function($s){
return trim($s);
},
explode(",", $tags)
);
?>