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将数据导入到Foxmail
Oct 09 PHP
php字符串截取问题
Nov 28 PHP
基于Zend的Captcha机制的应用
May 02 PHP
执行、获取远程代码返回:file_get_contents 超时处理的问题详解
Jun 25 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
php程序内部post数据的方法
2015/03/31 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
yii2中关于加密解密的那些事儿
2018/06/12 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
js实现简单的购物车有图有代码
2014/05/26 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
2014年医学生毕业自我鉴定
2014/03/26 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
文明城市标语
2014/06/16 职场文书
大学学雷锋活动总结
2014/06/26 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书