我如何使用“正则表达式”输出 PHP 的\n
OR \r
OR IN 输出?\n\r
我知道反弹应该是双重的,但我做不到。
我的代码
preg_replace('/(\n|\r)/', '?', $String );
只需使用str_replace()
- 您不需要正则表达式:
$H = str_replace( "\n", '\n', $H);
$H = str_replace( "\r", '\r', $H);
或者正如马克指出的那样,在一次通话中:
$H = str_replace( array( "\n", "\r"), array( '\n', '\r'), $H);
或者,使用两个不必要的正则表达式:
$H = preg_replace( "/\n/", '\n', $H);
$H = preg_replace( "/\r/", '\r', $H);
或者,一个正则表达式和一些额外的逻辑:
$H = preg_replace_callback( "/(\n|\r)/", function( $match) {
return $match[1] == "\n" ? '\n' : '\r';
}, $H);
这是您要输出的内容吗?
$H = "This is a line with \\n and \\r and \\r\\n";
$H = "This is a line with " . '\n and ' . '\r and ' . '\r\n';
或者简单地单引号整个字符串,这样 php 就不会评估转义...
$H = 'This is a line with \n and \r and \r\n';
您不需要正则表达式来输出文字 '\n' '\r' 或 '\r\n'。
只需双反斜杠双引号字符串转义或单引号要输出文字的字符串。
试试这个,这可能就是你要找的...
$String = preg_replace('/\\n/', '\\n', $String );
echo preg_replace('/\\r/', '\\r', $String );