PHP 中如何移除控制字符
什么是控制字符
控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。
具体控制字符一共有下面两个集合:
- 七位ASCII定义了33个代码作为控制字符,它们是0到31、以及127,(位于0x00-0x1F及0x7F)。
- 兼容的八位ISO/IEC 8859-1加上了从ISO/IEC 6429定义的从128到159的32个代码,位于0x80-0x9F。
PHP 中如何移除控制字符
在我们平时程序当中,如果字符串中出现了控制字符,json_decode
和 simplexml_load_string
这些函数就会失败,所以最好就是去掉,所以我写了一个移除控制字符的 PHP 函数:
function wpjam_strip_control_characters($str){
return preg_replace('/[\x00-\x1F\x7F-\x9F]/u', '', $str);
}