划定空格+逗号

时间:2013-02-25 21:13:05

标签: php

我知道如果我想使用这段代码:

<?php
    $tags = "hello, bye, test";
    $tags = explode(",", $tags);
?>

它会用逗号分隔。但是我仍然会留下空格,我想在没有这些空格的情况下将这些值保存在数据库中。我该怎么做?

3 个答案:

答案 0 :(得分:1)

使用", "作为分隔符进行爆炸怎么样?

$tags = "hello, bye, test";
$atags = explode(", ", $tags);

获取此信息:

print_r($atags);
Array ( [0] => hello [1] => bye [2] => test )

我知道这不是最美丽的解决方案,但它也有效。

修改
从评论“是的,但它应该像stackoverflow上的标签系统一样工作。例如它应该分开”你好,再见“以及”你好,再见“和”你好再见“ - Xegano 1分钟以前“

在这种情况下,您应该只使用","爆炸,然后修剪单词周围的空格。像这样:

$tags = "hello, bye, test";
$atags = explode(",", $tags);
$atags = array_map('trim', $atags);

答案 1 :(得分:1)

如果空格总是存在,快速解决方案是使用:

$tags = "hello, bye, test";
$tags = explode(", ", $tags);

否则(正如迈克尔建议的那样)你可以修剪值:

$tags = "hello, bye, test";
$tags = explode(",", $tags);
$tags = array_map('trim', $tags);

答案 2 :(得分:0)

编辑:正如迈克尔指出的那样,我们不想替换所有的空格,只能用逗号表示。我们可以使用数组映射通过trim来运行爆炸数组中的每个项目。

<?php
    $tags = "hello, bye, test";
    $tags = array_map( 
        function($s){ 
            return trim($s); 
        }, 
        explode(",", $tags)
    );
?>