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 相关文章推荐
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
CI框架附属类用法分析
Dec 26 PHP
Laravel框架查询构造器简单示例
May 08 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 PHP
PHP终止脚本运行三种实现方法详解
Sep 01 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编程中的常见漏洞和代码实例
2014/08/06 PHP
浅析php工厂模式
2014/11/25 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python魔法方法详解
2019/02/13 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
python实现一个猜拳游戏
2020/04/05 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
复核员上岗演讲稿
2014/01/05 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
幼儿教师研修感言
2014/02/12 职场文书
工程质量月活动方案
2014/02/19 职场文书
优秀护士获奖感言
2014/02/20 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技