2011-05-03 121 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