如何从php字符串中删除新行和返回?
php变量包含以下字符串:如何从php字符串中删除新行和返回?,php,string,newline,Php,String,Newline,php变量包含以下字符串: <p>text</p> <p>text2</p> <ul> <li>item1</li> <li>item2</li> </ul> 有人知道如何解决这个问题吗?您需要将\n放在双引号中。在单引号中,它被视为两个字符\',后跟'n' 你需要: $str = str_replace("\n", '', $str); 更好的选择是使用PHP\u EOL
<p>text</p>
<p>text2</p>
<ul>
<li>item1</li>
<li>item2</li>
</ul>
有人知道如何解决这个问题吗?您需要将
\n
放在双引号中。在单引号中,它被视为两个字符
\'
,后跟'n'
你需要:
$str = str_replace("\n", '', $str);
更好的选择是使用PHP\u EOL
作为:
$str = str_replace(PHP_EOL, '', $str);
您必须将
\n
或\r
包装在
中,而不是'
中。使用单引号时,将不会解释转义序列(除了\'
和\\
)
:
如果字符串用双引号(“)括起来,PHP将解释
特殊字符的更多转义序列:
- \n换行符(ASCII格式的LF或0x0A(10))
- \r回车符(ASCII格式的CR或0x0D(13))\
- (……)
要从字符串中删除新行,请执行以下代码
$newstring = preg_replace("/[\n\r]/","",$subject);
功能性更强(易于在任何地方使用): 使用PHP_EOL作为搜索替换参数也是一个好主意!值得称赞。正确的输出:
'{"data":[{"id":"1","reason":"hello\\nworld"},{"id":"2","reason":"it\\nworks"}]}'
function json_entities( $data = null )
{
//stripslashes
return str_replace( '\n',"\\"."\\n",
htmlentities(
utf8_encode( json_encode( $data) ) ,
ENT_QUOTES | ENT_IGNORE, 'UTF-8'
)
);
}
替换字符串:
$str = str_replace("\n", '', $str);
你也喜欢,
(%n,
%t,,
所有特殊字符、数字、字符等)
这意味着你可以在字符串中替换任何东西。你可以将字符串数组传递给
str\u replace
,这样你就可以在一条语句中完成所有操作:
$content = str_replace(["\r\n", "\n", "\r"], "", $content);
PHP\u EOL确实不起作用。PHP无法在str\u replace中正确找到它们。为了正确显示html,我必须这样做:用
替换\r\n(这是Windows下的CRLF),然后用
替换\n(这是Linux下的LF),最后,用空字符串替换\r(这应该没有任何意义)事实上,
PHP\u EOL
不起作用。应该是[“\r\n”、“\r”、“\n”]
。你真的需要“\r\n”
中的”\r\n”
?它已经可以全局删除\r
和\n`无处不在,对吗?FWIW,在PHP7中,我能够使用$str=str\EOL替换(PHP\u,,$str)
并且它成功地工作了。@JustCarty可能在您的特定情况下工作,但它假设$str
的值是在运行脚本的系统的同一平台上创建的。如果您混合使用windows和unix,您将度过糟糕的一天。感谢大家!+1这根本不是这个问题的答案。事实上,问题和答案唯一的共同点是换行符“\n”literal和使用str\u replace
,尽管目的完全不同。您有理由对我有效,因为我使用TextArea,有时需要换行符,并且此数据由angular Initng发送。您可能会发现有帮助,如中所示。它删除s所有类型的换行符,包括Unicode字符。只需使用“
而不是”
。这很重要。我以前使用单引号”
,文本总是替换为“\n”
(字符串类型)。如果您对此感到困惑,请记住……在laravel中,从产品描述中删除换行符非常有效。这只会从begging和字符串末尾删除换行符,而不会从中间删除换行符。请在您的答案中添加一些解释,以便其他人可以从中学习
function replace_carriage_return($replace, $string)
{
return str_replace(array("\n\r", "\n", "\r"), $replace, $string);
}
'{"data":[{"id":"1","reason":"hello\\nworld"},{"id":"2","reason":"it\\nworks"}]}'
function json_entities( $data = null )
{
//stripslashes
return str_replace( '\n',"\\"."\\n",
htmlentities(
utf8_encode( json_encode( $data) ) ,
ENT_QUOTES | ENT_IGNORE, 'UTF-8'
)
);
}
$str = str_replace("\n", '', $str);
$content = str_replace(["\r\n", "\n", "\r"], "", $content);
$str = "Hello World!\n\n";
echo chop($str);
output : Hello World!