我有一个字符串,如下所示
$string1="then & add â...“ to";
特殊的ascii字符â等导致错误。
所以我想知道有没有任何默认功能或方法来删除这些字符?
处理后的预期输出:
$string1="then & add … to";
答案 0 :(得分:0)
您需要在php.ini中安装并启用mb_string(现在默认情况下是这样)。如果通过web运行,在centos上安装php-mbstring包并重启web服务器。
<?php
$string = "aâ";
print $string . "\n";
$length = mb_strlen( $string );
$index = 0;
$output = '';
while( $index < $length )
{
$char = $string[$index];
if( mb_check_encoding( $char, 'ASCII') )
{
$output .= $string[$index];
}
$index++;
}
print $output . "\n";
?>
结果:
aâ
a
要使用下划线替换字符,您可以修改代码以附加&#39; _&#39;如果检查编码没有返回1,则返回字符串。
答案 1 :(得分:0)
$str = 'aAÂ';
$str = preg_replace('/[[:^print:]]/', '', $str);
这是我想要的解决方案。谢谢大家帮助我的尝试。 remove non-ascii characters from string in php