PHP rtrim未删除尾部\n
我需要从字符串中修剪任何尾随\n 我使用了rtrim,但由于某种原因它不起作用。带或不带rtrim的字符串保持不变。这快把我逼疯了 代码如下:PHP rtrim未删除尾部\n,php,string,Php,String,我需要从字符串中修剪任何尾随\n 我使用了rtrim,但由于某种原因它不起作用。带或不带rtrim的字符串保持不变。这快把我逼疯了 代码如下: $strippedDescription = rtrim($strippedDescription); 其中,$strippedDescription是: Hill House的所有者是HTC设计高级副总裁Scott Croyle。家里有两间卧室,两个半浴室和一间书房,足够和他的妻子和儿子共用。其适度的规模使伯恩斯坦能够强调高质量的材料而不是空间的数量
$strippedDescription = rtrim($strippedDescription);
其中,$strippedDescription
是:
Hill House的所有者是HTC设计高级副总裁Scott Croyle。家里有两间卧室,两个半浴室和一间书房,足够和他的妻子和儿子共用。其适度的规模使伯恩斯坦能够强调高质量的材料而不是空间的数量。
“在那个(科技)社区,这几乎是一个负值,”over-top homes的伯恩斯坦说。“我们真正强调的是不要马上去寻找豪宅。”\n\n
编辑 好的,问题是$strippedDescription正在从RSS提要读取并存储在我们的数据库中。这是文章的内容。此内容稍后将通过应用程序显示在iPhone上 iphone程序员说我们需要将“
”和“”替换为“\n”,这样iphone才能正确识别新的线路。然而,这并没有发生。将\n作为文章的一部分显示 这是上述部分前面的代码(其中$itemDescription是包含所有html标记的文章内容):
$strippedDescription=$itemDescription;
$strippedDescription=str_replace(“”、“\n”、$itemDescription);
$strippedDescription=str_replace('
','\n',$itemDescription);
$strippedDescription=str_replace('
','\n',$itemDescription);
$strippedDescription=带标签($strippedDescription);
$strippedDescription=rtrim($strippedDescription);
编辑 好的,我用“\n”(双引号)替换了“\n”,这似乎解决了问题
感谢Alex和Sergi以及其他人为我指出了正确的方向。看起来你的末尾有文字字符
\n
trim()
不会删除这些,因为它们不是空白
看起来像这样的东西会有用
$str = preg_replace('/(\\\n)+\z/', '', $str);
.我们这里有几个问题 由于rtrim不工作,\n不是单个字符 但是,您必须搜索字符串,而不是单个字符。这就是为什么搜索时应使用双引号的原因\n 第二个问题是,正如您在问题中所看到的,末尾有两个\n,可能还有更多 我要做的是手动编程一个函数,该函数执行以下操作:
+1最有可能的不是新行字符,而是两个独立的字符:反斜杠和字母nYes。请查看编辑以获取详细解释。谢谢alex。在我的代码中,这是修剪这些f的唯一方法。。字符串末尾的换行符为什么要反转字符串?最好的建议是向后迭代它吗?因为“\n”是两个字符,所以在反转字符串后,您应该检查“n”。另外,@alex说得很好,不需要反转stringWell,我总是觉得从0到结尾循环更舒服。“显然没有必要逆转它。”尼克很高兴你解决了它。但是,如果有任何答案是正确的,请将其作为答案接受,如果没有100%正确的答案,请将您自己的答案作为答案发布并接受,这样一来,任何前来的用户都可以看到案例的解决方案,而无需大量阅读。
$str = preg_replace('/(\\\n)+\z/', '', $str);