2012-06-06 102 views
1

分隔的单词我都一句话保存在数据库字段,我想打破它的话,但话需要由昏迷分开,就像这样:拆分句子与逗号

This, is, test, text 

我试着爆炸()的东西,但它没有做的工作。

+2

如何做['explode'(HTTP:// pH值p.net/explode)不起作用?这正是你需要的! –

+0

为什么不在我们的函数str_word_count()中构建,然后再次爆发以添加逗号 –

+0

好吧,EXPLODE只是爆炸它,但是我在单词之间没有逗号。 – SomeoneS

回答

4

你可以做

$text = "This is test text"; 
echo str_replace (" ", ", ", $text); // This, is, test, text 
+0

参数的顺序不正确,应该是:'str_replace('',',',$ text) ;' –

+0

如果'$ text'有多个空格,结果是这样的:'This,,is,test,text' – flowfree

+0

要小心,''这是测试文本''会返回''这, ,测试,文字“'。他可能想要寻找'preg_replace'。 –

3

你可以做一个preg_split()之间(尽管周围的空间感叹号也将被视为一个字),为了将基于至少一个空间的话;之后你把它们粘在一起。

echo join(', ', preg_split('/\s+/', $str)); 

或者,让wordwrap做的工作对你来说,装饰及去除装饰:

echo join(', ', explode("\0", wordwrap($s, 1, "\0"))); 
1

我知道这不是最有效的方式,但如果你想使用爆炸,你需要使用破灭也:

<?php 

$foo = 'this is a test'; 
$bar = implode(', ', explode(' ', $foo)); 
print_r($bar); 

?> 

会显示:this, is, a, test