2012-04-10 68 views
1

之间加一个字,我得到这个变量PHP变量,在

$test = 'Alpha, Gamma, Beta'; 

什么是得到这样的结果,最佳做法?我如何添加一个特定的词之间,比如我在下面添加射线

阿尔法射线,γ射线,β射线

+0

是字符串总是会“形式的东西{逗号} {}空间” ......? – Gricey 2012-04-10 13:07:46

回答

9

试试这个代码块

$test = preg_replace('/(,|$)/', ' Rays$1', $test); 

我不能告诉如果是“最佳实践”,但它是一个实践那作品简单。你也许可以制定另一个解决方案,让你获得更好的表现,如果表现是问题,这可能是“最佳做法”。

但是,如果简单是这样,这是很好的。

编辑:

由于一些其他的答案是使用str_replace,我可以给太工作解决方案:

$test = str_replace(',',' Rays,', $test).(empty($test)?'':' Rays'); 
+0

在上面的代码(最后一行代码)它是按照这个顺序'阿尔法射线,测试版,射线,伽玛射线'。 如何使它这样'射线阿尔法,射线测试版,射线伽玛'? – Mas 2012-04-13 22:48:56

+0

@Mas:如果你使用'str_replace'来引用这行,你可以这样放置这个单词:'$ test =(empty($ test)?'':'Rays').str_replace(',',' ,Rays',$ test);' – ANisus 2012-04-14 12:11:12

0

使用爆炸

$x = explode(",", $test); 

然后破灭

$x = implode(" Ray ,", $x); 

或foreach并添加不同的东西。 implode - explode

+0

'Beta'不会使用这个解决方案获得任何'射线'恐怕。 – ANisus 2012-04-10 13:12:34

1

您可以尝试对找到的每个逗号使用str_replace函数。

例子:

$str = str_replace("," , " Rays," , $test.' Rays'); 

你可以找到更多关于它的here