Php 仅包含ascii字符的字符串

Php 仅包含ascii字符的字符串,php,string,ascii,Php,String,Ascii,我有一组字符串,其中一些由非ascii字符组成。 如何使用php脚本获取仅包含ascii字符的字符串 非常感谢您的指导。如果iconv扩展可用,最简单的选择可能是使用该功能,如果行为符合您的需要,请使用//IGNORE或//TRANSLIT选项查看文档。如果iconv扩展可用,最简单的选择可能是使用该功能,如果行为符合您的需要,请使用//IGNORE或//TRANSLIT选项查看文档。是否要忽略整个字符串如果字符串包含非ascii字符,请仅忽略字符,或者替换字符?ASCII字符包括不可打印字符?

我有一组字符串,其中一些由非ascii字符组成。 如何使用php脚本获取仅包含ascii字符的字符串


非常感谢您的指导。

如果iconv扩展可用,最简单的选择可能是使用该功能,如果行为符合您的需要,请使用//IGNORE或//TRANSLIT选项查看文档。

如果iconv扩展可用,最简单的选择可能是使用该功能,如果行为符合您的需要,请使用//IGNORE或//TRANSLIT选项查看文档。

是否要忽略整个字符串如果字符串包含非ascii字符,请仅忽略字符,或者替换字符?ASCII字符包括不可打印字符?如果字符串包含非ASCII字符,是否要忽略整个字符串,只忽略字符,还是替换字符?ASCII字符包括不可打印字符?大家好,我只想要可打印的ASCII字符。iconv只用于编码,现在就明白了。假设字符串a^Xb^X是一个控制字符。iconv永远不会删除它,因为^X不是它所理解的任何编码的一部分。它过去使用//IGNORE将其删除,但如果您关注iconv顶部注释上的错误,您将看到情况已不再如此。大家好,我只想要可打印的ASCII字符。iconv只对其进行编码,现在明白了。假设字符串a^Xb^X是一个控制字符。iconv永远不会删除它,因为^X不是它所理解的任何编码的一部分。它使用//IGNORE将其删除,但如果您关注iconv顶部注释上的错误,您将看到情况不再如此。您仍然可以获得未检查的字符。永远是白名单!匹配你知道你想要的东西。它不太容易出错。@gcb-不,你不需要。事实上,这已经是一个白名单-拒绝所有不是可打印ASCII字符的内容。如果它是一个黑名单,它会说-拒绝这些特定的不可打印或非ASCII字符,并接受其他一切。你倒过来了,你是对的。错过了^并假设十六进制代码用于超出可打印范围的内容。将其归咎于缺少咖啡:谢谢你让我直截了当。你仍然可以得到你没有检查的字符。永远是白名单!匹配你知道你想要的东西。它不太容易出错。@gcb-不,你不需要。事实上,这已经是一个白名单-拒绝所有不是可打印ASCII字符的内容。如果它是一个黑名单,它会说-拒绝这些特定的不可打印或非ASCII字符,并接受其他一切。你倒过来了,你是对的。错过了^并假设十六进制代码用于超出可打印范围的内容。我会把责任归咎于缺少咖啡:谢谢你让我直截了当。
<?php

echo preg_replace('/[^(\x20-\x7F)]*/', '', 'Standard ASCII and some gärbägè');

?>