php小技巧之过滤ascii控制字符

网络编程 2025-03-12 23:47www.168986.cn编程入门

分享一个小技巧,如何在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控制字符,只留下你需要的有效字符。这对于处理从网页抓取的数据、文本清理等操作非常有帮助。希望这个小技巧能对你有所帮助!

上一篇:jquery代码实现多选、不同分享功能 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by