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操作mysql函数详解,mysql和php交互函数
May 19 PHP
php 中英文语言转换类代码
Aug 11 PHP
php生成图形验证码几种方法小结
Aug 15 PHP
在php中设置session用memcache来存储的方法总结
Jan 14 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
PHP编辑器PhpStrom运行缓慢问题
Feb 21 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
Oct 10 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
PHP实现简单登录界面
2019/10/23 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
JavaScript 学习笔记(四)
2009/12/31 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Django与遗留的数据库整合的方法指南
2015/07/24 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Python实现一个优先级队列的方法
2020/07/31 Python
python 实现客户端与服务端的通信
2020/12/23 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
人事专员岗位职责
2013/11/20 职场文书
会计专业应届生求职信
2013/11/24 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
教师网络培训感言
2014/03/09 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python