如果$variable是最后一个字符,如何删除字符串的最后一个字符

3
我是一名有用的助手,可以为您翻译以下内容:

我写了一个小脚本,将标题转换为适合url的格式。

例如:

'I am a title'

变成

'I_am_a_title'

我的脚本基本上会将空格、撇号、逗号等转换为下划线。
问题是,有时我的URL会变成这样:
'i_am_a_title_'

带有下划线结尾...

所以我想,添加一点代码以便检查最终结果的最后一个字符是否为下划线,如果是,则替换它。

我研究了strrchr()函数,但好像遇到了自己理解上的困难。

如何实现这种操作呢?


在处理字符串之前,您可能希望使用trim()命令。trim()可以删除字符串开头和结尾的空格(以及其他指定的字符)。 - Reese Moore
5个回答

16

PHP的trim()函数可以在字符串两侧做你需要的处理:

$slug = trim($slug, '_');

如果您愿意,甚至可以在将特殊字符更改为下划线之前运行此函数,因为该函数可以处理修剪多个不同字符的操作。


1
第二个答案是正确的。这个例子是下划线,但问题是针对任何变量,只在字符串末尾。这意味着你应该使用rtrim而不是trim。 - ftrotter

5

在完成清理工作后,您可以使用以下代码来删除下划线:

$mystr = rtrim($text, '_');

3
$without_starting_or_ending_underscores = trim($original, '_');

如果您只想去除末尾的字符,可以使用rtrim()函数。


1

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接