为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
莫回无 2023-07-30 13:55:19
我的印象是,如果省略指定特定字符的第二个参数,PHP 中的修剪命令不仅会删除空格,还会从字符串的开头(和结尾)删除新行。此函数返回一个字符串,该字符串从 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我尝试使用修剪的原因是因为我想在文本中间保留新行和格式,因为它可能会分成段落。我只是想修剪它的边缘。我错了,修剪应该删除字符串开头和结尾的换行符和新行吗?删除上述新行的正确方法是什么?
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

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


$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;

添加不间断空格字符 (\xA0) 可能是个好主意。


查看完整回答
反对 回复 2023-07-30
?
守着一只汪

TA贡献1872条经验 获得超3个赞

警告!接受的答案不会删除零宽度空格。相反,它会删除单个字符\u20b

如果有人想使用 删除字符串开头或结尾处的实际零宽度空格trim(),这是正确的方法:

$trimmed = trim(
    $str,
        "\xE2\x80\x8B" // zero-width character
);


查看完整回答
反对 回复 2023-07-30
  • 2 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信