删除非英文字符PHP

时间:2010-09-06 23:41:04

标签: php character

如何解析字符串以删除php中的所有非英文字符

现在我想删除

之类的内容

სოფოსოფოი

谢谢:)

4 个答案:

答案 0 :(得分:52)

$str = preg_replace('/[^\00-\255]+/u', '', $str);

答案 1 :(得分:8)

您最好的选择是使用iconv,它会将字符串转换为请求的字符编码。

iconv('UTF-8', 'ASCII//TRANSLIT',  $yourtext);

//translit您可以获得有意义的ASCII转换(例如ß - > ss)。使用// IGNORE将完全删除非ascii字符。

iconv('UTF-8', 'ASCII//IGNORE',  $yourtext);

请参阅http://php.net/manual/en/function.iconv.php

答案 2 :(得分:7)

使用preg_replace()

$string = "some სოფო text"; 
$string = preg_replace('/[^a-z0-9_ ]/i', '', $string); 

echo $string;

当然,您需要扩展preg_replace模式,但这是一种方法。可能有更好的方法,我只是不知道。

答案 3 :(得分:-3)

使用此代码:

$illegalChars = array("",); 
$string  = str_replace($illegalChars,"",$string );
echo $string;