繁体   English   中英

使用trim从php中的字符串开头和结尾删除新行

[英]Remove new lines from beginning and end of string in php using trim

我的印象是PHP中的trim 命令,如果省略指定特定字符的第二个参数,不仅会删除空格,还会删除字符串开头(和结尾)的新行。

此函数返回一个字符串,其中从 str 的开头和结尾去除了空格。 如果没有第二个参数,trim() 将去除这些字符:

" " (ASCII 32 (0x20)),一个普通的空格。 "\\t" (ASCII 9 (0x09)),一个制表符。 "\\n" (ASCII 10 (0x0A)),换行(换行)。 "\\r" (ASCII 13 (0x0D)),回车。 "\\0" (ASCII 0 (0x00)),NUL 字节。 "\\x0B" (ASCII 11 (0x0B)),一个垂直制表符。

但是,我将它应用于一个字符串,该字符串在开头有一些由删除的文本产生的新行,它留下以下内容:

\u200b\n\nTHE TEXT I WANT STARTS HERE. I WANT TO GET RID OF EVERTHING BEFORE WORD THE

我尝试使用修剪的原因是因为我想保留文本中间的新行和格式,因为它可能被分成段落。 我只想在边缘修剪它。

我错了,修剪应该在字符串的开头和结尾删除换行符和新行吗? 如上所述删除新行的正确方法是什么?

将零长度空格字符 (\​) 添加到要删除的字符列表中,然后它会按您的预期工作。

$ws = " \t\n\r\0\x0B\u200b";
$s = trim
(
 "\u200b\n\nTHE TEXT I WANT STARTS HERE. I WANT TO GET RID OF EVERTHING BEFORE WORD THE",
 $ws
);
echo $s;

添加 NO-BREAK SPACE 字符 (\\xA0) 也可能是个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM