我需要修剪字符串中的任何尾随\ n。
我使用了rtrim,但由于某种原因,它不起作用。无论是否有rtrim,字符串都保持不变。这让我发疯了。
这是代码:
$strippedDescription = rtrim($strippedDescription);
其中$strippedDescription
是:
Hill House的老板是HTC设计高级副总裁Scott Croyle。在两间卧室,2个半浴室和一个书房,这个房子足够大,可以与他的妻子和儿子分享。其适度的规模使伯恩斯坦能够在空间数量上强调优质材料。 “这在(科技)社区几乎是一个负面价值,”伯恩斯坦说,这些过度的房屋。 “我们非常强调不立即寻找豪宅。”\ n \ n
好的问题是,$ strippedDescription正在从RSS源中读取并存储在我们的数据库中。这是文章内容。此内容稍后将通过应用程序显示在iPhone上。
iphone程序员说我们需要更换“< b r />”和“< / p>”使用“\ n”,以便iphone正确识别新行。然而,这并没有发生。 \ n显示为文章的一部分。
这是上面部分之前的代码(其中$ itemDescription是包含所有html标签的文章内容):
$strippedDescription = $itemDescription;
$strippedDescription = str_replace('</p>', '\n', $itemDescription);
$strippedDescription = str_replace('<br/>', '\n', $itemDescription);
$strippedDescription = str_replace('<br />', '\n', $itemDescription);
$strippedDescription = strip_tags($strippedDescription);
$strippedDescription = rtrim($strippedDescription);
好的我用“\ n”(双引号)替换了'\ n',这似乎解决了这个问题。
谢谢亚历克斯和塞尔吉以及其他人指出我正确的方向。
答案 0 :(得分:2)
看起来你最后有文字字符\n
。 trim()
不会删除这些内容,因为它们不是空格。
看起来像这样的东西会起作用......
$str = preg_replace('/(\\\n)+\z/', '', $str);
答案 1 :(得分:0)
我们在这里遇到了几个问题。
\ n不是单个字符,因为rtrim不起作用。
但是,您要搜索STRING而不是单个字符。这就是搜索\ n。
时应该使用双引号的原因第二个问题是,正如你在问题中看到的那样,最后有两个\ n,并且可能会有更多。
我要做的是手动编写执行以下操作的函数: