2011-11-26 65 views
0

我有下面的代碼:PHP的preg_replace不工作像預期

<?php 
    $test = "xxxx..AAA?!"; 
    echo $test."\n"; 
    $test = preg_replace("[^a-zA-Z0-9-]", "", $test); 
    echo $test."\n"; 
?> 

我想刪除不屬於字母,數字字符全部或減號

什麼是我的錯?

回答

4

分隔符缺少

$test = preg_replace('/[^a-zA-Z0-9-]/', '', $test); 
echo $test . "\n"; 

此外,我建議使用的PHP_EOL代替"\n"爲換行符。

+0

啊謝謝!!現在工作:) – soupdiver

+0

:D太棒了!不用說 –

+0

注意:如果使用:'$ test = preg_replace('/ [^ a-zA-Z0-9 - ] + /','',$ test);'它會更快,因爲它需要做更少的操作 – noob