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字符串处理的10个简单方法
Jun 30 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
Yii2使用$this-&gt;context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
PHP 断点续传实例详解
Nov 11 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
PHP中让curl支持sock5的代码实例
2015/01/21 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
JS画5角星方法介绍
2013/09/17 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Django 反向生成url实例详解
2019/07/30 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
数据库笔试题
2013/05/09 面试题
爷爷追悼会答谢词
2014/01/24 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
撤诉申请怎么写
2015/05/19 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书