从字符串中删除非ASCII字符

从网站提取数据时出现奇怪的字符:

Â

如何删除不是非扩展ASCII字符的内容?

回答:

正则表达式替换将是最佳选择。使用$str作为一个例子的字符串,并使用匹配它:print:,这是一个POSIX字符类:

$str = 'aAÂ';

$str = preg_replace('/[[:^print:]]/', '', $str); // should be aA

什么:print:是寻找所有可打印字符。相反,:^print:查找所有不可打印的字符。不属于当前字符集的所有字符都将被删除。

使用此方法之前,必须确保当前字符集为ASCII。POSIX字符类同时支持ASCII和Unicode,并且仅根据当前字符集进行匹配。从PHP

5.6开始,默认字符集为UTF-8。

以上是 从字符串中删除非ASCII字符 的全部内容, 来源链接: utcz.com/qa/401950.html

回到顶部