PHP中用正则表达式清除字符串的空白

2015-01-24信息快讯网

我们经常会处理来自用户输入或从数据库中读取的数据,可能在你的字符串中有多余的空白或制表符,回车等。存储这些额外的字符是有点浪费空间的。

如果您想要去掉字符串开始和结束的空白可以使用PHP内部函数trim() 。但是, 我们经常想完全清除空白。需要把开始和结束的空白清除掉,将多个空白变为一个空白,使用一个规则来处理同样的类型的其它空白。

完成这些可以使用PHP的正则表达式来完成

下例可以去除额外Whitespace
 
<?php 
$str = " This line contains\tliberal \r\n use of whitespace.\n\n"; 

// First remove the leading/trailing whitespace 
//去掉开始和结束的空白 
$str = trim($str); 

// Now remove any doubled-up whitespace 
//去掉跟随别的挤在一块的空白 
$str = preg_replace('/\s(?=\s)/', '', $str); 

// Finally, replace any non-space whitespace, with a space 
//最后,去掉非space 的空白,用一个空格代替 
$str = preg_replace('/[\n\r\t]/', ' ', $str); 

// Echo out: 'This line contains liberal use of whitespace.' 
echo "<pre>{$str}</pre>"; 
?> 


上例一步一步的去掉所有的空白。首先我们使用trim()函数来去掉开始和结束的空白。然后,我们使用preg_replace() 去除重复的。\s代表任何whitespace 。(?=) 表示向前查找 。它味着只匹配后面有和它本身相同字符的字符。所以这个正则表达式的意思是: "被whitespace 字符跟随的任何whitespace 字符。" 我们用空白来替换掉,这样也就去除了,留下的将是唯一的whitespace 字符。

最后, 我们使用另一个正则表达式[\n\r\t]来查找任何残余的换行符(\n), 回车(\r), 或制表符(\t) 。我们用一个空格来替换这些。
php替换超长文本中的特殊字符的函数代码
php提示undefined index的几种解决方法
openflashchart 2.0 简单案例php版
PHP中去掉字符串首尾空格的方法
有关PHP中MVC的开发经验分享
几个有用的php字符串过滤,转换函数代码
PHP 第二节 数据类型之字符串类型
php中邮箱地址正则表达式实现与详解
PHP中将字符串转化为整数(int) intval() printf() 性能测试
php preg_filter执行一个正则表达式搜索和替换
PHP中的正则表达式函数介绍
php中通过正则表达式下载内容中的远程图片的函数代码
PHP提取字符串中的图片地址[正则表达式]
PHP缩略图等比例无损压缩,可填充空白区域补充色
PHP校验ISBN码的函数代码
php开发环境配置记录
PHP文件读写操作之文件写入代码
PHP文件读写操作之文件读取方法详解
PHP目录函数实现创建、读取目录教程实例
PHP开发规范手册之PHP代码规范详解
PHP strncasecmp字符串比较的小技巧
PHP 设置MySQL连接字符集的方法
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
PHP下常用正则表达式整理
学习php笔记 字符串处理
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
php下清空字符串中的HTML标签的代码
PHP IPV6正则表达式验证代码
php 正则表达式小结
宁泽涛夺金填空白 众新人涌现补短板 中国游泳不再“孤军奋战”
©2014-2024 dbsqp.com