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

时间:2011-01-16 07:38:36

标签: php string

我制作了一个小脚本来将标题转换成友好的网址。

即:

'I am a title'

变为

'I_am_a_title'

我的脚本基本上会通过并将空格,撇号,逗号等变成下划线。

问题是,有时我的网址会像这样结束:

'i_am_a_title_'

带尾随下划线......

所以我想,添加一点点来查看最后一个字符是否是最终结果的下划线,如果是,则交换它。

我查看了strrchr()函数,但我似乎遇到了自己理解的墙。

这种事情是如何完成的?

5 个答案:

答案 0 :(得分:13)

PHP的trim()函数将在字符串的两边执行您需要的操作:

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

如果您愿意,可以在将特殊字符更改为下划线之前运行此功能,因为该功能可以处理多个不同的字符。

答案 1 :(得分:4)

完成清理后,您只需使用此代码删除尾随下划线:

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

答案 2 :(得分:2)

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

如果您只想删除尾随的内容,请改用rtrim()

答案 3 :(得分:1)

查看rtrim

答案 4 :(得分:1)

像这样,

YOUR_STRING=rtrim(YOUR_STRING,'_');

rtrim将从字符串末尾删除指定的字符。 http://php.net/manual/en/function.trim.php

/尤