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基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
PHP函数篇之掌握ord()与chr()函数应用
Dec 05 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
PHP中shuffle数组值随便排序函数用法
Nov 21 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 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 socke 向指定页面提交数据
2008/07/23 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
python重试装饰器示例
2014/02/11 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
python中format()函数的简单使用教程
2018/03/14 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
行政人事经理职位说明书
2014/03/05 职场文书
机关保密承诺书
2014/06/03 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
教你如何使用Python实现二叉树结构及三种遍历
2021/06/18 Python
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript