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


Posted in PHP onJanuary 17, 2011

如果您想要去掉字符串开始和结束的空白可以使用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 array操作10个小技巧分享
Jun 23 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
使用dump函数,给php加断点测试
Jun 25 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 PHP
php统计数组元素个数的方法
Jul 02 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
PHP基于yii框架实现生成ICO图标
Nov 13 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
php获取用户真实IP和防刷机制的实例代码
Nov 28 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
php开发环境配置记录
Jan 14 #PHP
PHP文件读写操作之文件写入代码
Jan 13 #PHP
PHP文件读写操作之文件读取方法详解
Jan 13 #PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 #PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 #PHP
PHP JSON格式数据交互实例代码详解
Jan 13 #PHP
PHP学习笔记之二 php入门知识
Jan 12 #PHP
You might like
用PHP创建PDF中文文档
2006/10/09 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
use jscript List Installed Software
2007/06/11 Javascript
$.ajax json数据传递方法
2008/11/19 Javascript
基于jQuery.Validate验证库知识点的详解
2013/04/26 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
解决Python requests 报错方法集锦
2017/03/19 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
Python实现识别手写数字大纲
2018/01/29 Python
python处理“
2019/06/10 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
奢华的意大利皮革手袋:Bene Handbags
2019/10/29 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
2014年教师节寄语
2014/08/11 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
学生上课说话检讨书
2014/10/25 职场文书
法制教育观后感
2015/06/17 职场文书
采购员工作总结范文
2015/08/12 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
golang slice元素去重操作
2021/04/30 Golang
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android