0

我的行是“Delux Room_Room”。我想得到“Delux Room”作为结果。我试着遵循代码。

以下代码给出了以下结果。

echo$row。”<br/>';echo rtrim($row,“房间”)。”<br/>';echo rtrim($row,'_room')。'<br/>';

结果-

豪华客房_房间豪华客房_德尔克斯R

但我想要Delux Room。请帮帮我。

4个答案4

重置为默认值
6
echo rtrim($row,'_room')。'<br/>';

这表示“从字符串末尾删除字符,直到找到一个不需要的字符_,第页,o(o)“这显然不是你的意思PHP手册:

$查尔斯特您还可以通过charlist参数指定要剥离的字符。只需列出要删除的所有字符。使用。。您可以指定一个字符范围。

您提供了一个字符列表,而不是要删除的字符串。

你可能应该使用子(substr)而是:

echo substr($row,0,-5);//删除最后5个字符

另一个解决方案是使用str_替换替换不需要的子字符串:

echo str_replace('_room','',$row);//用空字符串替换“_room”

请注意,这不如子(substr)方法。

0

rtrim公司的第二个参数是设置共个字符。您必须编写自己的方法来删除特定字符串:

函数rtrim_str($str,$trim){if(substr($str,-strlen($trim))==$trim{return substr($str,0,-strlen($trim));}返回$str;//字符串不在末尾}echo rtrim_str($row,'_room');
0

如果你的过去是可变长度的,那么可以选择@loneonady的解决方案:

$pos=strrpos($row,'_');echo$substr($row,0,$pos);
0

你应该使用str_替换而不是rtrim公司,如下所示:

echo$row。”<br/>';echo str_replace('room','',$row)。'<br/>';echo str_replace('_room','',$row)。'<br/>';

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.