【发布时间】:2011-04-08 23:11:31
【问题描述】:
如何解析字符串以删除 php 中的所有非英文字符
现在我想删除类似的东西
სოფონი�
谢谢:)
【问题讨论】:
-
我假设您的意思是非拉丁/罗马字母字符。
-
是的,对不起,我就是这个意思
如何解析字符串以删除 php 中的所有非英文字符
现在我想删除类似的东西
სოფონი�
谢谢:)
【问题讨论】:
$str = preg_replace('/[^\00-\255]+/u', '', $str);
【讨论】:
您最好的选择是使用iconv,它将字符串转换为请求的字符编码。
iconv('UTF-8', 'ASCII//TRANSLIT', $yourtext);
使用//translit,您可以获得到 ASCII 的有意义的转换(例如 ß -> ss)。使用 //IGNORE 将完全去除非 ascii 字符。
iconv('UTF-8', 'ASCII//IGNORE', $yourtext);
【讨论】:
通过使用preg_replace()
$string = "some სოფო text";
$string = preg_replace('/[^a-z0-9_ ]/i', '', $string);
echo $string;
当然,您需要扩展preg_replace 模式,但这是一种方法。可能有更好的方法,我只是不知道。
【讨论】:
使用此代码:
$illegalChars = array("",);
$string = str_replace($illegalChars,"",$string );
echo $string;
【讨论】: