2011-05-03 126 views
2

我想创建一个变量来执行一些不同的替换规则..例如,如果变量名带有空格,我用连字符替换它。如果它包含一个&符号,则将其从字符串中移除。现在,我有这样的:字符串替换帮助

$reg_ex_space = "[[:space:]]"; 
$replace_space_with = "-"; 
$reg_ex_amper = "[&]"; 
$replace_amper_with = ""; 
$manLink1 = ereg_replace ($reg_ex_amper, $replace_amper_with, $manName); 
$manLink2 = ereg_replace ($reg_ex_space, $replace_space_with, $manLink1); 

,当我从一些具有符号呼应manLink2,说汤姆&杰里它将返回汤姆 - 杰里。

有人可以请解释一个更有效率/工作方式来写这个?

+0

你更喜欢什么? '汤姆Jerry'?你不能只是改变你的替代品的顺序吗? (另外,[你有没有考虑过使用'preg_replace'?](http://php.net/manual/en/function.preg-replace.php)) – sdleihssirhc 2011-05-03 00:12:33

回答

1

这将用空字符串替换&(将其删除)并将空格转换为-

然后它会将多个-聚合为一个。

$str = str_replace(array('&', ' '), array('', '-'), $str); 

$str = preg_replace('/-{2,}/', '-', $str); 

CodePad