php小技巧之过滤ascii控制字符
分享一个小技巧,如何在PHP中轻松过滤ASCII控制字符。对于那些经常处理网页数据、尤其是从其他网站抓取内容的朋友们,这个技巧可能会非常有用。
曾经,我在工作中遇到一个问题,那就是从其他网站抓取的数据导入到XML时,总会遇到一些奇怪的字符。我最初以为这些字符是对方为了防采集而特意加入的。于是,每次遇到这样的字符,我就手动添加到过滤列表中。渐渐地我发现,这些字符其实都是ASCII表中的控制字符。
一旦了解了问题的根源,我们就可以着手解决了。在PHP中,你可以使用以下代码来过滤ASCII控制字符:
```php
/
根据ASCII码过滤控制字符
@param string $string
@return string
/
public static function special_filter($string) {
if (empty($string)) return '';
$new_string = '';
for ($i = 0; isset($string[$i]); $i++) {
$asc_code = ord($string[$i]); // 获取字符的ASCII码
// 过滤非法字符
if ($asc_code == 9 || $asc_code == 10 || $asc_code == 13) { // 制表符(Tab)、换行符(LF)、回车符(CR)
$new_string .= ' '; // 用空格替代这些控制字符
} else if ($asc_code > 31 && $asc_code != 127) { // 过滤其他ASCII控制字符
$new_string .= $string[$i]; // 保留普通字符
}
}
return trim($new_string); // 去除首尾空格
}
```
使用这个函数,你可以轻松过滤掉字符串中的ASCII控制字符,只留下你需要的有效字符。这对于处理从网页抓取的数据、文本清理等操作非常有帮助。希望这个小技巧能对你有所帮助!
编程语言
- php小技巧之过滤ascii控制字符
- jquery代码实现多选、不同分享功能
- 用ajax传递json到前台中文出现问号乱码问题的解决
- JQuery实现的图文自动轮播效果插件
- 初识PHP
- javascript中的正则表达式使用指南
- 关于axios返回空对象的问题解决
- flex chrome浏览器调试出现空白的解决方法
- 编程语言里的静态、动态、强类型、弱类型等概
- vue.js 添加 fastclick的支持方法
- 解析-清除SQL被注入恶意病毒代码的语句
- Yii实现显示静态页的方法
- JavaScript简单修改窗口大小的方法
- 关闭Vue计算属性自带的缓存功能方法
- vue-cli启动本地服务局域网不能访问的原因分析
- Mysql 5.7 忘记root密码或重置密码的详细方法