在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. C#多线程 线程池

    实例1:直接看看微软提供的代码 using System; using System.Threading; public class Example { public static void Main ...

  2. powershell脚本闪电输入神器

    如图所示: 用autohotkey,把下列常用按键互唤.来达到快速输入目的.并且只对powershell ise,power gui,visual studio code,powershell stu ...

  3. WebService Ajax调用

    1.Html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  4. ubuntu fix the grub boot(need Internet)

    sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot- ...

  5. JVM-字节码执行引擎

    虚拟机字节码执行引擎 一.运行时栈帧结构 1.栈帧(Stack Frame)是用于支持虚拟机进行调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(Virtual Method Stack) ...

  6. oracle 解锁表

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

  7. eclipse如何导入项目

    链接来自百度经验: 点击打开链接

  8. Using Interface Builder记录

    1.interface builder的作用主要是用来设计视图,文件的拓展名诶.storyboard或者.xib :这两文件的区别是,.xib文件只能设计一个视图控制器,也就只能显示一个视图,.sto ...

  9. AndroidStudio开发出现Warning:Gradle version 2.10 is required. Current version is 2.8. If u

    Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try ed ...

  10. Spring源码学习之:ClassLoader学习(4)

    转载:http://www.codeceo.com/article/java-classloader.html 一:什么是ClassLoader?===>大家都知道,当我们写好一个Java程序之 ...