php怎么控制字符,php过滤ascii控制字符

还记得以前在工作中,将爬来的其它网站的数据导到xml。但是会遇到一个问题:即网页会有ascII的控制字符。 一开始以为是别人为了防止采集而加入的,然后发现一个就往过滤表里加一个。直到慢慢发现,他们都是ascii表里的字符。 找到原因了,就好解决了。

/**

* 根据ascii码过滤控制字符

* @param type $string

*/

public static function special_filter($string)

{

if(!$string) return '';

$new_string = '';

for($i =0; isset($string[$i]); $i++)

{

$asc_code = ord($string[$i]);//得到其asc码

//以下代码旨在过滤非法字符

if($asc_code == 9 || $asc_code == 10 || $asc_code == 13){

$new_string .= ' ';

}

else if($asc_code > 31 && $asc_code != 127){

$new_string .= $string[$i];

}

}

return trim($new_string);

}

过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解, 去^@,^M

今天产品部同事报告了一个BUG,经过调试发现,由于用户输入的字符串中,包含字符0x1E, 也就是”记录分隔符”(Record Separator, Notepad++ 显示为[RS]),导致JavaS ...

C语言实现过滤ASCII在0~127范围内的字符,并去除重复的字符

#include #include /* 1.以字符串作为参数 2.找出ASCII在1~127范围内的字符 3.去掉重复字符 */ i ...

ASCII字符集中的功能/控制字符

  ASCII字符集中的功能/控制字符     Function/Control Code/Character in ASCII Version: 2011-02-15 Author: gree ...

由 char()函数返回的 ASCII字符集中的功能/控制字符

如果在excel下的单元格写入公式:=“国际经济与贸易”&CHAR(10)&"401班"&CHAR(10)&"A组".则出现: ...

ASCII中的控制字符含义

十进制 十六进制 控制字符 转义字符 说明 Ctrl + 下列字母 0 00 NUL \0 Null character(空字符) @ 1 01 SOH   Start of Header(标题開始) ...

PHP常用接口数据过滤的方法

ASCII和16进制对照表

十六进制代码 MCS 字符或缩写 DEC 多国字符名 ASCII 控制字符 1 00 NUL 空字符 01 SOH 标题起始 (Ctrl/A) 02 STX 文本起始 (Ctrl/B) 03 ETX ...

ASCII Table - ASCII码对照表

ASCII控制字符 二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义 0000 0000 0 00 NUL ␀ 空字符(Null) 0000 0001 1 01 SOH ␁ 标题开始 00 ...

【转载】正则表达式学习 & ASCII码表

文章原地址: http://www.jb51.net/tools/zhengze.html 其中有几个地方可以有笔记: \s 匹配任意的空白符 \b 匹配单 ...

随机推荐

LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun

·First - 返回集合中的第一个元素:不延迟 ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值):不延迟 ·Last - 返回集合中的最后一个元素:不延迟 ·Las ...

android下面res目录

1. 相关文件夹介绍      在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的.assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件 ...

获取服务器端ip

System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]

1010 Robot Motion

Problem Description A robot has been programmed to follow the instructions in its path. Instructions ...

DES加密例子

Java密码学结构设计遵循两个原则: 1) 算法的独立性和可靠性. 2) 实现的独立性和相互作用性. 算法的独立性是通过定义密码服务类来获得.用户只需了解密码算法的概念,而不用去关心如何实现这些概念. ...

Zabbix实战-简易教程--动作(Actions)--自动注册

一.概述 之前已经讲述了自动发现功能,自动注册和自动发现非常类似,但是比自动发现更精确.因为自动注册,是在Agent上自定义元数据,然后Agent将元数据发送给server进行匹配,如果匹配一致,则进 ...

Linux主机名域名修改问题

1.修改 /etc/sysconfig/network  配置文件 vi  /etc/sysconfig/network 修改HOSTNAMEHOSTNAME=new-hostname.domainn ...

C 转义字符说明

%a(%A) 浮点数.十六进制数字和p-(P-)记数法(C99)%c 字符%d 有符号十进制整数%f 浮点数(包括float和doulbe)%e(%E) 浮点数指数输出[e-(E-)记数法]%g(%G ...

网站发布IIS后堆栈追踪无法获取出错的行号

一.问题起因 系统发布上线后,有时会发生错误,那么错误的记录就很重要,它对于错误的排查和问题的发现有着重要的作用,通常我们采取的方式为Log日志文件记录和数据库错误记录.文本不会讨论错误记录的方式以及 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值