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 文件扩展名 获取函数
Jun 03 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
PHP操作数组相关函数
Feb 03 PHP
PHP高级对象构建 多个构造函数的使用
Feb 05 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
PHP类的反射用法实例
Nov 03 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
解决Laravel5.5下的toArray问题
Oct 15 PHP
laravel 创建命令行命令的图文教程
Oct 23 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/03/21 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python struct.unpack
2008/09/06 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
2019/02/17 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
CSS3实现类似翻书效果的过渡动画的示例代码
2019/09/06 HTML / CSS
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
护理自荐信范文
2013/10/05 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis