2012-07-25 84 views
0

我想刪除所有其他運營商除了 - 。我在下面工作,但卡在這裏。PHP如何刪除所有其他運營商除了 -

$s1 = "[email protected]*&^%$#@!)({}[]?.,<> dis$ is. testing -"; 
$s2 = "- i love% the way. it, works"; 

for($ii=0;$ii<3;$ii++){ 

$from = array('/\(|\)/','/\d+ml|\d+g/','/\s+/'); 
$to = array('','','-'); 

$sample=${'s' . $ii}; 

$sample = strtolower(trim(preg_replace($from,$to,$sample),'-')); 
echo $sample."<br>"; 

} 

請在這方面幫助我。

輸出所需

hello-dis-is-testing 
i-love-the-way-it-works 

回答

1
$sample = trim(preg_replace('/\\W+/i', '-', $s1), '-'); 

此正則表達式替換除了字母和數字都用破折號和修剪去除拖尾和前面的破折號

+0

不要忘記,使其不區分大小寫。 – JRomero 2012-07-25 15:44:57