删除字符串中不需要的字符

Vai*_*y07 2 php regex preg-replace

我想问一下如何从字符串中删除一个特殊字符(从废弃页面中提取).

 4:30am
Run Code Online (Sandbox Code Playgroud)

我只是想得到时间,所以我试过,所以过滤它使用这个:

$str = 'Â 4:30am';
$new_string = preg_replace("[^A-Za-z0-9]", "", $str); 
echo '<pre>'.$new_string.'</pre>';
Run Code Online (Sandbox Code Playgroud)

但它没有改变:| 有没有解决方案/方法?

Gla*_*vić 8

你的正则表达式无效......

$str = 'Â 4:30am';
$new_string = preg_replace("~[^a-z0-9:]~i", "", $str); 
echo '<pre>'.$new_string.'</pre>';
Run Code Online (Sandbox Code Playgroud)

...而你在正则表达式中忘了":",所以在你的情况下它会被删除.


Sup*_*icy 5

你的正则表达式模式需要用分隔符包围.您当前的模式使用[]作为分隔符,这很可能不是您打算做的.

preg_replace("/[^A-Za-z0-9]/", "", $str); 
Run Code Online (Sandbox Code Playgroud)

http://pl.php.net/manual/en/regexp.reference.delimiters.php