我整理了几个比较适合的实例了,对于它们我们是有很多站长都测试过并用过了,不过文章最后我的总结也是生重要的哦,至于原因我也说不上了,因为chr是ascii编码了所以有时浏览器会自动转成ascii,特别像ff浏览器就是这样的。
 

一,下例可以去除额外空白

 代码如下 复制代码

<?php 
$str = " This line  containstliberal rn use of   whitespace.nn"; 
// First remove the leading/trailing whitespace 
//去掉开始和结束的空白  www.111cn.net
$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('/[nrt]/', ' ', $str); 
// Echo out: 'This line contains liberal use of whitespace.' 
echo "<pre>{$str}</pre>"; 
?>

二,替换换行符
//php 有三种方法来解决

 代码如下 复制代码

//1、使用str_replace 来替换换行 
$str = str_replace(array("rn", "r", "n"), "", $str);

//2、使用正则替换 
$str = preg_replace('//s*/', '', $str);

//3、使用php定义好的变量 (建议使用) 
$str = str_replace(PHP_EOL, '', $str);

代码如下:

 代码如下 复制代码
 
/* 
* 获得用户操作系统的换行符,n 
* @access public 
* @return string 
*/ 
function get_crlf() 

if (stristr($_SERVER['HTTP_USER_AGENT'], 'Win')) 

$the_crlf = 'rn'; 

elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Mac')) 

$the_crlf = 'r'; // for old MAC OS 

else 

$the_crlf = 'n';//权重大一点 www.111cn.net

return $the_crlf; 
}

注意:在前台页面显示的时候,用nl2br使换行变成<br>

三,替换回车

 代码如下 复制代码

<?php   
     //php 不同系统的换行  
    //不同系统之间换行的实现是不一样的  
    //linux 与unix中用 /n  
    //MAC 用 /r  
    //window 为了体现与linux不同 则是 /r/n  
    //所以在不同平台上 实现方法就不一样  
    //php 有三种方法来解决  
          
    //1、使用str_replace 来替换换行  
    $str = str_replace(array("/r/n", "/r", "/n"), "", $str);   
          
    //2、使用正则替换  
    $str = preg_replace('//s*/', '', $str);  
          
    //3、使用php定义好的变量 (建议使用)  
    $str = str_replace(PHP_EOL, '', $str);   
    ?>

有时我们还需要注意像textarea中的回车换行并不是/r/n之类的而是需要chr(32),chr(13)这样才可以替换的哦。

php正则表达式过滤空格 换行符 回车的更多相关文章

  1. SQL:指定名称查不到数据的衍伸~空格 换行符 回车符的批量处理

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 先看看啥情况 复制查询到的数据,粘贴一下看看啥情况 那就批量处理一下~ 就这样 ...

  2. SQL替换空格,制表符,换行符,回车符.

    首先是空格的替换,很重要的有点是,要确保字段的类型,不是char或nchar等固定的类型,否则无法去掉空格. 去掉空格很简单,如下为SQL实例: --去掉 T_StuffBasic 表中FBranch ...

  3. asp.net页面过滤所有换行符和多余空格

    不知道大家注意到了没有,Google和Baidu网页的HTML源代码是混合在一起的.HTML代码混合在一起,出发点是为了减小网页体积,从而加快网页加载速度. 写个函数把网页HTML源代码的换行符和空格 ...

  4. Java 去掉字符串中的换行符回车符等

    去掉一个字符串中的换行符.回车符等,将连续多个空格替换成一个空格 String string = "this just a test" Pattern p = Pattern.co ...

  5. MYSQL表记录字段换行符回车符处理

    ), ), '');  CHAR(10): 换行符 CHAR(13): 回车符

  6. robotframework之去除空格、去掉前面的0、增加空格换行符的方法,两个字符之间的拼接

    1.去除空格 A)若需要去除两个拼接字符之间的空格,可以使用robotframework中的关键词Catenate,需要注意的是SEPARATOR=一定需要大写 B)若在一个字符串中存在空格,且需要去 ...

  7. 关于MYSQL表记录字段换行符回车符处理

    http://hualong.iteye.com/blog/1933023 今天遇到一个非常奇葩的问题,数据库表中明明有值却查询不不出来,而然一次从单元格中复制到sql中,发现右侧单引号换行了,我初步 ...

  8. PHP压缩html网页代码原理(清除空格,换行符,制表符,注释标记)

    本博启用了一个叫wp super cache的页面压缩工具, 源代码没有去查看,不过原理很简单. 我们可以自己动手书写一个压缩脚本. 清除换行符,清除制表符,去掉注释标记 .它所起到的作用不可小视. ...

  9. 【去除NSString 字符串中的空格换行符】

    @interface NSString (DeletWhiteSpace) // 返回一个去掉前后空格的字符串或者下划线,如果自己是一个nil 返回@“” - (NSString *)trimming ...

随机推荐

  1. 剑指 Offer 20. 表示数值的字符串 + 有限状态自动机

    剑指 Offer 20. 表示数值的字符串 Offer 20 常规解法: 题目解题思路:需要注意几种情况: 输入的字符串前后可能有任意多个空格,这是合法的. 正负号: (1)正负号只能出现一次. (2 ...

  2. 剑指 Offer 42. 连续子数组的最大和 + 动态规划

    剑指 Offer 42. 连续子数组的最大和 题目链接 状态定义: 设动态规划列表 \(dp\) ,\(dp[i]\) 代表以元素 \(4nums[i]\) 为结尾的连续子数组最大和. 为何定义最大和 ...

  3. POJ-3436(网络流+最大流+输出路径)

    ACM Computer Factory POJ-3436 题目就是一个工厂n个加工机器,每个机器有一个效率w,q个材料入口,q个材料出口,每个口有三个数表示状态,1表示一定有入/出的材料,0表示没有 ...

  4. 白嫖微软Azure12个月服务器

    前言 Azure是微软提供的一个云服务平台.是全球除了AWS外最大的云服务提供商.Azure是微软除了windows之外另外一个王牌,微软错过了移动端,还好抓住了云服务.这里的Azure是Azure国 ...

  5. Android实现三角形气泡效果方式汇总

    在开发过程中,我们可能会经常遇到这样的需求样式: 这张图是截取京东消息通知的弹出框,我们可以看到右上方有个三角形的气泡效果,这只是其中一种,三角形的方向还可以是上.下.左.右. 通过截图可以发现,气泡 ...

  6. 003-try-catch-finally-return执行顺序问题

    一.try-catch-finally-return执行顺序问题 0.原始执行顺序 try - > finally try -> catch -> finally 1.try cat ...

  7. 推荐模型DeepCrossing: 原理介绍与TensorFlow2.0实现

    DeepCrossing是在AutoRec之后,微软完整的将深度学习应用在推荐系统的模型.其应用场景是搜索推荐广告中,解决了特征工程,稀疏向量稠密化,多层神经网路的优化拟合等问题.所使用的特征在论文中 ...

  8. PTE 准备之 Describe Image

    25s 准备时间:决定用什么模板,用模板cover那些信息点 Content: 数字和文字哪个多,就多说哪个,均匀覆盖 Fluency : 保持流利度 不要纠结时态,单复数,人称代词等 时间要求: 尽 ...

  9. BZOJ_2844 albus就是要第一个出场 【线性基】

    一.题目 albus就是要第一个出场 二.分析 非常有助于理解线性基的一题. 构造线性基$B$后,如果$|A| > |B|$,那么就意味着有些数可以由$B$中的数异或出来,而多的数可以取或者不取 ...

  10. CSS行内元素盒模型

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...