php不可见字符,php怎么处理不可见字符

2023-11-04

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

73b02d480a1ebcdb64c2d3c692efc95c.png

php过滤不可见字符

编码知识

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

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

php代码<?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教程》

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php不可见字符,php怎么处理不可见字符 的相关文章

  • 操作系统课程设计 - 多线程模拟 - 时间片轮转法实现处理机调度

    此篇博客用于记录学习历程 仅供交流参考 一 课程设计题目及内容 题目 设计一个按照时间片轮转法实现处理机调度的程序 时间片轮转法实现处理机调度的程序设计提示如下 1 假设系统有n个进程 每个进程用一个进程控制块 PCB 来代表 进程控制块的
  • 如何使用css将多出范围的字变为...

    话不多说 上代码 呈一行效果 width 100px text overflow ellipsis 将文本溢出显示为 white space nowrap 强制显示为一行 overflow hidden 溢出隐藏 呈多行效果 width 1
  • Golang开发项目目录简介以及目录结构设置规范

    一 Golang项目简单介绍 Golang简单的目录结构如下 其中 bin用来存放经过go bulid后的可执行文件 pkg存放编译后的go module 而src就存放我们项目的代码 二 三种常用目录结构 1 适合个人开发者 2 流行的目
  • 大数据组件-kafka(基础篇)

    大数据组件 kafka 基础篇 Kafka简介 Kafka是什么 Kafka的应用场景 Kafka的架构组成 Kafka的主要竞争力 Kafka简介 Kafka是什么 Kafka是一个消息队列 存储消息的队列中间件 可以存储消息进队列中 也
  • 关于CMake生成包含PCL库和CGAL库的工程时出现“无法解析的外部符号”的错误

    前言 博主之前安装了PCL 1 8 0库 教程链接 PCL 1 8 0 AllInOne VS2013 Win8 X64 安装配置及部分问题解决方法 和CGAL库 教程链接 在Win8 VS2013中配置CGAL库 最近需要把两个库用在同一
  • 红球进黑洞【线段树区间更新+二进制异或处理】【牛客小白月赛9-C】

    题目链接 给你N个点 M次查询 问的是 一 区间 l r 的数的总和 二 把区间 l r 上的所有点去异或 xor 一个数X 一开始用了点更新 然后T了 想了一会 最后在比赛结束前终于美滋滋的完成了AC 庆幸 我的想法是这样的 将每个点的值
  • 学习笔记 JavaScript ES6 ES6数组的扩展

    学习内容 类数组 伪数组 Array from Array of copyWithin fill includes 类数组 伪数组 下面这几行代码的返回值就是伪数组 伪数组有索引 且长度是非负的整数 即长度length属性 但是没有数组的方
  • 51单片机学习笔记(二) 单个数码管显示1到9

    转自我的博客 http sincos in p 20 数码管 其实就是8个发光二极管按顺序排列而成的 所以让数码管显示特定的数字 只需要将该亮的二极管点亮 不该亮的灭了就好了 为了达到这个目的 就得参考电路图了 51HEI开发板的电路图在我
  • 腾讯校招编程题之快递分身术

    题目描述 城市里有3000条横向的道路和3000条纵向的道路 分别从1开始编号知道3000 相邻两条平行道路的间距为1 我们用 x y 表示第x号横向道路和第y号纵向道路 N个需要送快递的点坐落在这些交点上 小Q只能沿着这些道路送快递 而且
  • [Unity3D]Lua中使用协程coroutine和计时器timer

    习惯了unity3d的协程用法 那么我们在Unity里面怎么使用 StartCoroutine StopCoroutine WaitForSeconds 首先lua也有coroutine 其实lua中的协程真的是暂停 用法和unity并非相
  • 模型分类model

    模型可以按照多个维度进行分类 以下是常见的几种模型分类方式 1 根据应用领域分类 数学模型 基于数学原理和方程式来描述和解决问题 如微积分模型 线性代数模型等 物理模型 基于物理原理和规律来模拟和解释现象 如力学模型 电路模型等 经济模型
  • D3.js 绘制柱状图

    使用D3 V4版本绘制 使用D3绘制柱状图 绘制效果如下 使用D3绘制柱状图 先对需要绘制的图形拆解 主要分为以下几个部分 1 比例尺的定义 2 坐标轴的绘制 3 添加矩形 4 修改坐标轴样式 5 柱状图装饰效果添加 首先 先定义data
  • Docker存储

    前言 上一篇文章中简单总结了一下docke的基础使用方法 这次我来总结一下有关docker存储方面的相关知识 本文同样建立在CloudMan的系列教程之上 有兴趣的可以直接移步 有些人可能觉得这个很简单 存储就是硬盘嘛 docker容器既然
  • Shell脚本之for循坏语句

    目录 一 for循环语句 1 1 列表循环 1 2 不带列表循环 1 3 类C风格的for循环 1 4 for循环案列 二 总结 一 for循环语句 语法结构 列表循环 不带列表循环 类c风格的for循环 1 1 列表循环 1 格式1 fo
  • stm32 定时器TIM时钟步骤

    1 TIM3 时钟使能 RCC APB1PeriphClockCmd RCC APB1Periph TIMx ENABLE 时钟使能 2 初始化定时器参数 设置自动重装值 分频系数 计数方式等 定时器的初始化函数TIM TimeBaseIn
  • 高性能TCPServer

    最近两天正在学习TCPServer 在网上看到比较好的两篇文章 在这里记录下来 High Performance NET Socket Server Using Async Winsock 原文地址 Introduction Sockets
  • 手机端开发(uni-app、vant、mui)优缺点分析

    疫情期间 使用过uni app 最近又接触了vant 但是由于项目部署原因 项目不支持前后端分离 仅支持静态页Html css项目 所以最后用mui开发一套 今天就介绍一下 我用过这三个框架的看法以及他们之间的优缺点 一 优点 1 uni
  • 【开放域目标检测】三:Learning transferable visual models from natural language supervision论文补充

    这里主要再简单看一下框架图 训练比较简单 使用的是对比学习的方法 做图文匹配的任务 计算相似度 给定batch N N N的image text pairs CLIP预测 N N
  • Devpress (DxReport)使用ReportDesigner (一) 基本功能

    1 Devpress DxReport 编辑 1 新建一个XtraReport 2 在报告上点右键添加元素 元素说明 1 其中有报告头 报告尾 页头 页尾 组头 组尾 详细 2 一份报告只有一个报告头一个报告尾 里面的元素只也现一次 3 页

随机推荐

  • 删掉node包

    删掉node包 删掉node包 命令 npm install rimraf g rimraf node modules
  • WIN11更改WSL2的存放路径

    目前在网上常常能查阅到的方法为先导出系统发行版 子系统名称 为tarball文件 然后再重新导入tarball为新的发行版 并设置新的安装位置 之后再删除旧的发行版 此方法也是微软官方推荐的方法 详见 如何备份我的 WSL 发行版 或者如何
  • 12月大事件日历

    12月大事件日历 11月30 12月2日 中国光伏行业年度大会 12月1日 印度央行启动零售数字卢比试点 12月2日 美国11月非农数据失业率 12月4日 OPEC 会议 12月5日 G7对俄 原油价格上限 生效 12月7日 EIT能源展望
  • Vue实现加载效果

    Vue实现加载效果 div div loading默认为false 点击查询按钮时加载页面 QueryData this loading true const iframe this refs top this refs top src 要
  • 【Shell牛客刷题系列】SHELL11 转置文件的内容:继续awk命令的升级打怪之旅

    该系列是基于牛客Shell题库 针对具体题目进行查漏补缺 学习相应的命令 刷题链接 牛客题霸 Shell篇 该系列文章都放到专栏下 专栏链接为 专栏 Linux 欢迎关注专栏 本文知识预告 首先简单学习了rs命令 这个命令不常用 了解即可
  • 三种Python中两个列表数字“相加”的方法

    目录 for循环 map numpy 最近我在用Python处理数据时 需要将列表数据相加实现 累积 效果的 需要注意 我这里所说的列表相加 并非是下面这种 列表元素相加 的情况 list 1 1 2 3 list 2 4 5 6 prin
  • 虚拟机搭建Hadoop集群环境-CentOS篇

    文章目录 Linux环境安装 虚拟机环境准备 虚拟机克隆 修改虚拟机IP 修改主机名 创建普通用户 重启虚拟机 使用Xshell远程访问 集群搭建 安装 JDK 安装 Hadoop 关闭防火墙 其它节点虚拟机克隆 配置 SSH 无密钥登录
  • Qt5.12+VS2017环境下编译QtAV视频库

    1 QtAV是一个跨平台的开源视频库 使用了ffmpeg核心 https github com wang bin QtAV 版本号1 12 0 2 安装好Qt 同步QtAV视频库 在github主页下载相应的依赖库 我使用了QtAV dep
  • RestTemplate 的用法

    1 引入对应依赖 2 private final RestTemplate restTemplate 3 上代码 Service Slf4j public class CspWarehouseServiceImpl implements I
  • 小红书app复制链接转换为可直接访问链接

    当你在小红书复制某篇笔记链接 黏贴出来是这个样子的 这种链接只有打开小红书app才能够访问 那么怎么把这种链接转换为可直接访问的格式呢 执行下方代码即可 import requests import json def shortToLong
  • 代码随想录算法训练营19期第56天

    583 两个字符串的删除操作 代码随想录 初步思路 动态规划 总结 1 第一步先求出两个字符串的最长公共子序列长度 2 删除的最少步数 两个字符串的总长度减去两个最长公共子序列的长度 用时 45分钟 72 编辑距离 代码随想录 初步思路 动
  • 【LeetCode】二叉树题总结(持续更新)

    文章目录 理论 144 二叉树的前序遍历 递归与迭代 94 二叉树的中序遍历 递归与迭代 145 二叉树的后序遍历 递归与迭代 102 二叉树的层序遍历 226 翻转二叉树 101 对称二叉树 222 完全二叉树的节点个数 利用完全二叉树性
  • 前端CSS高频面试题附答案(2023)

    什么是CSS Box模型 它有哪些组成部分 CSS Box模型是指用于计算网页布局中元素大小 位置和边距的一种模型 它由四个组成部分组成 内容区域 即元素的实际内容 内边距 元素周围的空白区域 边框和外边距 什么是BFC 块级格式化上下文
  • Flask使用MySQL指南

    一 首先进入开场白 场景 几个概念和基础知识 1 SQLAlchemy alchemy 单词译为 炼金术 魔力 即表示 SQLAlchemy是个有魔力的东西 官网 http www sqlalchemy org 百度搜索SQLAlchemy
  • 《这就是区块链》之区块链基础(4)--去中心化概念

    如上图所示 在之前的3篇文章中 我们讲了区块链的加密系统以及区块链的链表结构 对区块链的 物理结构 有了初步的认识 但是 聪明的你肯定会想到 哈希算法和数字签名是互联网初期的产物 根本不是区块链特有的东西 对 如果区块链仅仅是哈希指针的话
  • metasploit简单使用-生成木马反弹shell连接

    metasploit简单使用 在Kali中运行msfconsole 运行下列命令生成test exe木马 use evasion windows windows defender exe set filename test exe set
  • python pip install error: Microsoft Visual C++ 14.0 is required

    现象 Python 安装某些包的时候 由于需要C 进行编译 可能会出现 Microsoft Visual C 14 0 is required 比如 pip install marisa trie 解决办法 1 下载编译好的 whl 文件
  • 继电器控制电路原理解析说明

    继电器驱动电流一般需要20 40mA或更大才能使继电器吸合 继电器的线圈电阻100 200欧姆 因此必须进行扩流 即驱动 图1 21所示为用NPN型三极管驱动继电器的电路图 图中阴影部分为继电器电路 继电器线圈作为集电极负载而接到集电极和正
  • 【软件测试】(四)测试用例怎么写

    文章目录 测试用例基本要素 1 评价好的测试用例的标准 2 根据需求写测试用例 3 测试用例的设计方法 3 1 基于需求进行测试用例的设计 3 2 具体的设计用例的方法 3 2 1 等价类 3 2 2 边界值 3 2 3 错误猜测法 3 2
  • php不可见字符,php怎么处理不可见字符

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