在PHP中,有时候我们需要对字符串的换行进行过滤,比如天涯PHP博客中文章页面的description信息,我是直接截取的文章内容,并过滤掉html符号,最终还要过滤掉其中的换行。
下面整理一下常见的去除换行的方法及PHP代码。其实天涯[phpha.com]想给大家推荐的是一个系统常量[PHP_EOL]。

// 第1种写法:
<?php
str_replace("n", '', $str);
?>
// 第2种写法:
<?php
str_replace("rn", '', $str);
?>
// 第3种写法:
<?php
preg_replace("/s/", '', $str);
?>

下面进行相关说明:
首先说说 n,r,t
n 软回车:
在Windows中表示换行且回到下一行的最开始位置
在Linux/unix中只表示换行,但不会回到下一行的开始位置
r 软空格:
在Linux/unix 中表示返回到当行的最开始位置
在Mac OS中表示换行且返回到下一行的最开始位置,相当于Windows里的 n 的效果
t 跳格(移至下一列)
补充说明:
它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。
rn 一般一起用,用来表示键盘上的回车键(Linux,Unix中),也可只用 n(Windwos中),在Mac OS中用r表示回车!
t 表示键盘上的 TAB 键
文件中的换行符号:
windows: n
linux/unix: rn

下面以代码说明PHP中去除字符串中换行的三种常用的方法

// 1)使用转义字符函数
<?php
$str = str_replace(array("/r/n", "/r", "/n"), '', $str);
?>
// 2)使用正则表达式替换
<?php
$str = preg_replace('//s*/', '', $str);
?>
// 3)使用PHP系统常量【推荐】
$str = str_replace(PHP_EOL, '', $str);
?>

PHP中去除字符串中的换行的方法的更多相关文章

  1. Python中去除字符串中的单个或多个空格的方法总结

    python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...

  2. Java中去除字符串中空格的方法

    昨天写了一个关于Excel文件处理的脚本,在字符串匹配功能上总是出现多余不正确的匹配,debug调试之后,发现一个坑. ------->代码中字符串使用了replaceAll()方法,去除了所有 ...

  3. js中去除字符串中所有的html标签

    对于获取了一大堆字符串但是又不想要里面的html标签怎么办? 特别是像博客园这个富文本框中,可以带样式的,取出来的文章内容也是带样式的. 但是在某些地方只要显示文本不想显示其他标签,只好这样做. &l ...

  4. Java中去除字符串中的所有空格

    JAVA中去掉空格     1. String.trim()    trim()是去掉首尾空格         2.str.replace(" ", ""); ...

  5. C#中去除字符串空格的三种方法

    static void Main() { //demo1 除去空格,提取出各个单词 string s = "a b c"; string[] word = s.Split(new ...

  6. Java中去除字符串中的空格

    1.去掉首尾的空格 String.trim()  trim()是去掉首尾空格 2.去掉所有的空格 str.replace(" ", ""); 去掉所有空格,包括 ...

  7. java 去html标签,去除字符串中的空格,回车,换行符,制表符

    public static String getonerow(String allLine,String myfind)     {                           Pattern ...

  8. 正则去除字符串中的html标签,但不去除<br>标签

    一.去除html标签 filterHTMLTag(msg) { var msg = msg.replace(/<\/?[^>]*>/g, ''); //去除HTML Tag msg ...

  9. SQLSERVER 去除字符串中特殊字符

    原文:SQLSERVER 去除字符串中特殊字符 /*========================================================================== ...

随机推荐

  1. yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)

    第一种: 这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退: 用cmd运行该文件时显示:The OpenSSL PHP extension is r ...

  2. 在 Apache error_log 中看到多个信息,提示 RSA server certificate CommonName (CN) 与服务器名不匹配(转)

    在 Apache error_log 中看到多个信息,提示 RSA server certificate CommonName (CN) 与服务器名不匹配. Article ID: 1500, cre ...

  3. RoseRT 建模学习

    目录: 一.RoseRT理论知识 二.一个完整模型的建立 三.TD-SCDMA(UE侧)RRC层建模的学习 四.LTE的RRC层建模(1.自主完成‘2.也可以是L2) 五.参考文献 一.RoseRT理 ...

  4. Allegro建立引脚封装概念名词梳理

    首先感谢于博士的60讲的Cadence教学视频,老师讲的还是很有耐心,很细致,谢谢! 目前还只是看到建立PCB封装这一块,正好手头上有个案子在做,边做边学的进度还是要好很多.以前的工作对原理图这一块的 ...

  5. oracle 解锁表

    //查询锁表id select session_id from v$locked_object; //查询该ID的serial# SELECT sid, serial#, username, osus ...

  6. 二分查找C++

    #include <iostream> using namespace std; //二分查找:每次都从中间位置寻找,如果找到了就返回,如果没找到, //则分两种情况: //(1)中间元素 ...

  7. iOS 剪贴板基本知识

    在iOS 中下面三个控件,自身就有复制-粘贴功能 1.UITextView 2.UITextField 3.UIWebView UIKit framework提供了几个类和协议方便我们在自己的应用程序 ...

  8. How to implement a custom type for NHibernate property

    http://blog.miraclespain.com/archive/2008/Mar-18.html <?xml version="1.0" encoding=&quo ...

  9. 2015百度之星1002 查找有序序列(RMQ+主席树模板水过)

    题意:求在数列中能找到几个个长度为k 的区间,里面的 k 个数字排完序后是连续的. 思路:枚举范围,判断区间内是否有重复的数字(主席树),没有的话求区间最大-区间最小(RMQ),判断是否等于K,是的话 ...

  10. js 对象深复制,创建对象和继承

    js 对象深复制,创建对象和继承.主要参考高级编程第三版,总结网上部分资料和自己的代码测试心得.每走一小步,就做一个小结. 1.对象/数组深复制 一般的=号传递的都是对象/数组的引用,如在控制台输入 ...