Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >PHP 中如何移除控制字符

PHP 中如何移除控制字符

作者头像
Denis
发布于 2023-04-15 02:19:22
发布于 2023-04-15 02:19:22
57100
代码可运行
举报
文章被收录于专栏:WordPress果酱WordPress果酱
运行总次数:0
代码可运行

什么是控制字符

控制字符(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_decodesimplexml_load_string 这些函数就会失败,所以最好就是去掉,所以我写了一个移除控制字符的 PHP 函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function wpjam_strip_control_characters($str){
	return preg_replace('/[\x00-\x1F\x7F-\x9F]/u', '', $str);
}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ASCII码表完整版
ASCII(发音:,American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语,而其扩展版本延伸美国标准信息交换码则可以部分支持其他西欧语言,并等同于国际标准ISO/IEC 646。
小志biubiu
2025/02/27
1430
刨根究底字符编码之三——字符编码的由来
计算机一开始发明出来时是用来解决数字计算问题的,后来人们发现,计算机还可以做更多的事,例如文本处理。
笨笨阿林
2022/05/09
6560
刨根究底字符编码之三——字符编码的由来
ANSI编码对照表「建议收藏」
目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。
全栈程序员站长
2022/11/09
6.2K0
ANSI编码对照表「建议收藏」
【第3版emWin教程】第27章 emWin6.x支持的字体简介
教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第27章 emWin6.x支持的字体简介 本章节为大家讲解e
Simon223
2021/07/28
9320
【第3版emWin教程】第27章       emWin6.x支持的字体简介
如何取消Linux下,vi中显示的^M符号-linux快速入门教程
^M 是ascii中的'\r', 回车符,是16进制的0x0D,8进制的015,十进制的13。
jack.yang
2025/04/05
720
Linux 命令(142)—— hexdump 命令
格式字符串可以包含任意数量的格式单元,由空格分隔。格式单元最多包含三项:迭代计数、字节计数和格式。
恋喵大鲤鱼
2022/09/19
3.7K0
ASCII码表_ASCII码对照表
在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。其中: 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符)如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。 65~90为26个大写英文字母, 97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
张旭博客
2022/12/27
1.8K0
ASCII对照表
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解。 ASCII值 控制字符 ASCI
咻一咻
2020/05/29
7130
ASCII码作用简介
《Linux下的^M困惑》曾提到\r对应的ASCII码十进制形式是13(无显示形式),对应的八进制形式是15(显示为^M),有朋友在后台反馈对ASCII码有些疑惑,因此在这,简单介绍下ASCII。
bisal
2020/05/18
2.2K0
ASCII码作用简介
PHP动态特性的捕捉与逃逸
今天看到了某家厂商的Webshell检测引擎,实测效果还可以,确实把PHP Webshell检测这个难题实质上地推进了一步。
phith0n
2020/10/15
1.6K0
php 中json_encode,json_decode问题总结
1.当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串 而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串
全栈程序员站长
2022/08/09
1K0
ASCII编码对照表
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
十玖八柒
2022/08/01
6070
ASS II 码对照表
ASCII(American Standard Code for Information Interchange)定义从 0 到 127 的共128个数字所代表的英文字母或一样的结果与意义。由于使用7个位(bit)就可以表示从0到127的数字,大部分的电脑都使用8个位来存取字元集 (character set),所以从128到255之间的数字可以用来代表另一组128个符号,称为extended ASCII。 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(Amer
赵腰静
2018/03/09
3.7K0
ASCII
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是一套基于拉丁字母的字符编码,共收录了 128 个字符,用一个字节就可以存储,它等同于国际标准 ISO/IEC 646。
云深无际
2020/09/30
1.5K0
ASCII
关于字符编码
在计算机中,所有的数据在存储和运算时都是使用二进制数表示。为了互相通信,就必须使用相同的编码规则。ANSI (American National Standard Institute)在1967年发表了一套单字节字符编码方案 - ASCII (American Standard Code for Information Interchange)。后来ISO (International Organization for Standardization) 和IEC (International Electrotechnical Commission)将其定为国际标准 - ISO/IEC 646
Taishan3721
2021/12/02
8570
关于字符编码
铜缆以太网9-25GBASE-CR(S)(一)
本条款规定了25GBASE-CR PMD、25GBASE-CR-S PMD和基带介质。这些规范与100GBASE-CR4(第92条)的规范密切相关,但采用单通道而不是4通道。有3个相关附件。附件110A提供了在已实现的系统中可能无法测试的测试点的参数信息,附件110B规定了测试夹具,附件110C描述了25GBASE-CR和25GBASE-CR-S主机和电缆组件的形状系数cable assembly form factors。
追宇星空
2025/03/11
870
铜缆以太网9-25GBASE-CR(S)(一)
ASCII控制字符
国际标准ISO/IEC 646 二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义 0000 0000 0 00 NUL ␀ 空字符(Null) 0000 0001 1 01 SOH ␁ 标题开始 0000 0010 2 02 STX ␂ 本文开始 0000 0011 3 03 ETX ␃ 本文结束 0000 0100 4 04 EOT ␄ 传输结束 0000 0101 5 05 ENQ ␅ 请求 0000 0110 6 06 ACK ␆ 确认回应 0000 0111 7 07 BEL ␇ 响铃
红目香薰
2022/11/29
5570
【小白学习C++ 教程】九、C++中字符型、字符串和转义字符
要在 C++ 中使用字符串,我们首先需要#include <string> 标头,来引入 std::string 的声明,就可以定义std::string类型的变量。
润森
2022/08/18
1.4K0
密码学之ASCII编码(02)
ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符
海拥
2021/08/23
1.1K0
ASCII编码介绍与学习总结
描述:上个世纪60年代美国制定了一套字符编码,它就是ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。 它是现今最通用的单字节编码系统(第一个计算机领域通用的字符集),并等同于国际标准 ISO/IEC 646。
全栈工程师修炼指南
2022/09/28
1.3K0
ASCII编码介绍与学习总结
相关推荐
ASCII码表完整版
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档