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 相关文章推荐
PHP4实际应用经验篇(3)
Oct 09 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 PHP
PHP引用(&amp;)各种使用方法实例详解
Mar 20 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
php for 循环使用的简单实例
Jun 02 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
Oct 07 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
分析php://output和php://stdout的区别
May 06 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 n个不重复的随机数生成代码
2009/06/23 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
php之可变变量的实例详解
2017/09/12 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
JS获取URL中参数值(QueryString)的4种方法分享
2014/04/12 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
Python深入学习之内存管理
2014/08/31 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Python聊天室实例程序分享
2016/01/05 Python
Python正则表达式非贪婪、多行匹配功能示例
2017/08/08 Python
Python命令行解析模块详解
2018/02/01 Python
python中如何使用insert函数
2020/01/09 Python
Django 返回json数据的实现示例
2020/03/05 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
浅析NumPy 切片和索引
2020/09/02 Python
Python常用断言函数实例汇总
2020/11/30 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
单位作风建设自查报告
2014/10/23 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
七年级作文之游记
2019/12/11 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python