PHP如何删除所有其他运算符,除了 -

时间:2012-07-25 15:36:18

标签: php

我想删除除 - 之外的所有其他运算符。我在以下工作,但坚持到这里。

$s1 = "Hello@*&^%$#@!)({}[]?.,<> 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 个答案:

答案 0 :(得分:1)

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

这个正则表达式用短划线替换除字母和数字之外的所有内容,修剪删除尾随和前面的短划线