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程序--记数器
Oct 09 PHP
php批量上传的实现代码
Jun 09 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
PHP安全的URL字符串base64编码和解码
Jun 19 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php操作xml入门之cdata区段
Jan 23 PHP
php进程间通讯实例分析
Jul 11 PHP
浅谈PHP中静态方法和非静态方法的相互调用
Oct 04 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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 从数据库提取二进制图片的处理代码
2009/09/09 PHP
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
php模板函数 正则实现代码
2012/10/15 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
javascript加减乘除的简单实例
2016/07/12 Javascript
javascript匀速动画和缓冲动画详解
2016/10/20 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
简介Django中内置的一些中间件
2015/07/24 Python
Python实现简单的代理服务器
2015/07/25 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
python实现五子棋游戏
2019/06/18 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
Python configparser模块常用方法解析
2020/05/22 Python
keras 模型参数,模型保存,中间结果输出操作
2020/07/06 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
银行实习鉴定
2013/12/13 职场文书
2014年女职工工作总结
2014/11/27 职场文书
幼儿教师辞职信
2015/02/27 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
父亲节感言
2015/08/03 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers