php去掉不可见的字符,php过滤不可见字符的方法

php过滤不可见字符的方法

发布时间:2020-07-03 15:07:24

来源:亿速云

阅读:159

作者:元一

这期内容当中小编将会给大家带来有关php过滤不可见字符的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

编码知识

ASCII码为标准符号、数字、英文等进行了保留,取值范围是0~127,还有一部分作为扩展ASCII码128~255。当操作系统采用非ASCII编码时(比如汉字编码),一般用扩展ASCII码来进行,约定用128~255范围的编码连续2~3甚至4个字节来进行汉字编码。

所以可以判断ASCII码十进制值是否大于127来筛选出汉字。

php代码

php处理不可见字符的方法:首先创建一个PHP文件;然后定义一个filterNonPrintableChar方法;接着在方法体内通过while语句实现过滤不可见字符的功能逻辑;最后运行该文件即可。<?php

/**

* @param $str

* @return string

* 过滤不可见字符,支持中文过滤

* 0至31和127这33个编码是不可见的特殊字符(控制符)

*/

function filterNonPrintableChar($str)

{

$i = 0;

$newStr = '';

while (isset($str[$i])) {

$char = $str[$i];

$asc = ord($char);

if ($asc > 31 && $asc < 127 || $asc > 127) {

$newStr .= $char;

}

$i++;

}

return $newStr;

}

$str = chr(1) ."a3#2%1". chr(2) . chr(54) . "s哈哈ad~a好的s";

var_dump(filterNonPrintableChar($str));

$str = "“ASCII码为标准符号、数字、英文等进行了保留,取值范围是0~127,还有一部分作为扩展ASCII码128~255当操作系统采用非ASCII编码时(比如汉字编码),一般用扩展ASCII码来进行,约定用128~255范围的编码连续2~3甚至4个来进行...”";

var_dump(filterNonPrintableChar($str));

上述就是小编为大家分享的php过滤不可见字符的方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值