使用php regex从字符串中删除换行符

cod*_*rex 40 php

如何使用php从字符串中删除新的行字符?

Ant*_*oCS 85

$string = str_replace(PHP_EOL, '', $string);
Run Code Online (Sandbox Code Playgroud)

要么

$string = str_replace(array("\n","\r"), '', $string);
Run Code Online (Sandbox Code Playgroud)

  • +1因为PHP_EOL捕获了\n,\ r \n,\ r \n的新行. (5认同)
  • 不适合我.首先,PHP_EOL根本没有得到认可.其次,如果您首先删除\n然后您正在搜索\ r \n,您将找不到它们,因为\n已被删除. (4认同)

Har*_*men 42

$string = str_replace("\n", "", $string);
$string = str_replace("\r", "", $string);
Run Code Online (Sandbox Code Playgroud)


mbo*_*ouz 14

要删除几个新行,建议使用正则表达式:

$my_string = trim(preg_replace('/\s\s+/', ' ', $my_string));
Run Code Online (Sandbox Code Playgroud)


Bha*_*ani 7

更好用,

$string = str_replace(array("\n","\r\n","\r"), '', $string).

因为某些换行符仍然来自textarea输入.


tfo*_*ont 5

功能更强大(易于在任何地方使用):

function strip_carriage_returns($string)
{
    return str_replace(array("\n\r", "\n", "\r"), '', $string);
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*air 5

stripcslashes应该足够了(删除 \r\n 等)

$str = stripcslashes($str);
Run Code Online (Sandbox Code Playgroud)

返回一个去掉反斜杠的字符串。识别类似 C 的 \n、\r ...、八进制和十六进制表示形式。

  • 为什么花了九年多的时间? (2认同)