我有一个字符串(不是数组,它是存储在一个字符串中的单词的负载),我想在每个单词之后放一个逗号,尽管不是把最后一个词放在后面。我有;PHP:在每个单词后添加逗号(除了最终)
echo str_replace(' ', ', ', $stilltodo);
但由于某些原因,逗号前添加一个空格(后太但这是正确的),并且还一个是在结束了。我怎么能改变它的工作方式,我想要的。
'基地' 的一个实施例的字符串
French History Maths Physics Spanish Chemistry Biology English DT Maths History DT Spanish English French RS
一个与所述当前代码输出上述
French , History , Maths , Physics , Spanish , Chemistry , Biology , English , DT , Maths , History , DT , Spanish , English , French , RS ,
谢谢。我把'echo substr_replace($ stilltodoplain,“”, - 2);'结尾给其他有相同问题的人摆脱最后一个逗号,但我猜你对这个问题有更多的空格因为这是唯一可行的。再次感谢。 – 2012-03-23 18:06:20
正则表达式在这里是矫枉过正的。你应该使用'implode(explode())'方法,或者'rtrim()',如我的答案所示。正则表达式并不一定是坏的,但它增加了不必要的开销,并在一定程度上隐藏了代码的含义。 – Bojangles 2012-03-24 00:35:04
@JamWaffles:如果它是一个可以每小时运行几万次的函数的一部分,那么你可以认为它过度杀伤,但是对于看起来像是一次性问题,我认为它并不重要。 – Crontab 2012-03-26 11:45:34