用PHP正则表达式清除字符串的空白

我们经常会处理来自用户输入或从数据库中读取的数据,可能在你的字符串中有多余的空白或制表符,回车等。存储这些额外的字符是有点浪费空间的。

如果您想要去掉字符串开始和结束的空白可以使用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) 。我们用一个空格来替换这些。

时间: 2024-11-16 06:01:53

用PHP正则表达式清除字符串的空白的相关文章

PHP中用正则表达式清除字符串的空白_php技巧

如果您想要去掉字符串开始和结束的空白可以使用PHP内部函数trim() .但是, 我们经常想完全清除空白.需要把开始和结束的空白清除掉,将多个空白变为一个空白,使用一个规则来处理同样的类型的其它空白. 完成这些可以使用PHP的正则表达式来完成 下例可以去除额外Whitespace 复制代码 代码如下: <?php $str = " This line contains\tliberal \r\n use of whitespace.\n\n"; // First remove t

PHP清除字符串中空白正则表达式

先利用trim系列函数来删除左右空格  代码如下 复制代码 <?php trim 去除一个字符串两端空格, rtrim 是去除一个字符串右部空格, ltrim 是去除一个字符串左部空格. echo trim(" 空格 ")."<br>"; echo rtrim(" 空格 ")."<br>"; echo ltrim(" 空格 ")."<br>";

PHP清除字符串中所有无用标签的方法_php技巧

本文实例讲述了PHP清除字符串中所有无用标签的方法.分享给大家供大家参考.具体实现方法如下: 很多时候需要输出一些 "纯" 字符串,也就是去除任何杂质,例如 Html 标签.空格之类的文本,输出的摘要就是如此,下面的这个函数可以帮你实现着一点. PHP实例代码如下: 复制代码 代码如下: function Bing_string_cleanr( $string ){  $string = trim( $string );   $string = strip_tags( $string

JS 清除字符串数组中,重复元素的实现方法_javascript技巧

JS 清除字符串数组中,重复元素的实现方法 <script language="JavaScript"> <!-- var arrData=new Array(); for(var i=0; i<1000; i++) { arrData[arrData.length] = String.fromCharCode(Math.floor(Math.random()*26)+97); } //document.write(arrData+"<br/&g

Java使用正则表达式及字符串操作,抽取网页信息

使用正则表达式及字符串操作,抽取网页信息,实现代码如下: /* 去script */ public static String trimScript(String content) { String regEx = "<script[^>]*>[^<]+</script>"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(content); String result = cont

正则表达式匹配字符串实现详解

使用正则表达式最常用的是考虑实现正则表达式匹配的判断,在实际工作中经常会遇到什么需要匹配的字符串操作呢?下面我们来看看实现正则表达式匹配字符串的操作实例. 正则表达式匹配字符串实例: ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 ^\w+$ //匹配由数字.26个英文字母或者下划线组成

python清除字符串里非数字字符的方法

  本文实例讲述了python清除字符串里非数字字符的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 import re s = "how19 a*re 254y**ou?" # Using regular expressions print re.sub("D", "", s) 希望本文所述对大家的Python程序设计有所帮助.

python清除字符串里非字母字符的方法

  本文实例讲述了python清除字符串里非字母字符的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 s = "hello world! how are you? 0" # Short version print filter(lambda c: c.isalpha(), s) # Faster version for long ASCII strings: id_tab = "".join(map(chr, xrange(256))

php使用正则表达式进行字符串搜索的方法

 这篇文章主要介绍了php使用正则表达式进行字符串搜索的方法,实例分析了php正则表达式的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php使用正则表达式进行字符串搜索的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 <?php $string_to_search = "jb51.net"; $regex = "/tor/"; $num_matches = preg_match