在PHP中查找字符串中的最后一个字符

Bob*_*zza 12 php regex string character url-rewriting

我在PHP中进行了一些url重写,需要在末尾找到带斜杠的URL,然后执行301重定向.我认为有一个简单的PHP函数来查找最后一个字符串,但我找不到任何东西.第一直觉让我认为我需要使用正则表达式,但我不是100%.

这是一个例子:

http://domainx.com/characters/我想找到一个斜杠并将其转换为http://domainx.com/characters

那么什么功能可以帮助我检查最后一个字符是否是"/"?

pow*_*tac 46

一个很好的解决方案,安全删除最后一个/是使用

$string = rtrim($string, '/');
Run Code Online (Sandbox Code Playgroud)

rtrim()/当有一个或多个时,删除字符串右侧的所有s.

您还可以/在URL的末尾安全地添加一个单独的:

$string = rtrim($string, '/').'/';
Run Code Online (Sandbox Code Playgroud)


Gum*_*mbo 30

你可以使用substr:

substr($str, -1)
Run Code Online (Sandbox Code Playgroud)

这将返回单字节字符串中的最后一个字节/字符.另请参见多字节字符串变体mb_substr.

但是如果你只想删除任何尾随斜杠,rtrim可能是最好的解决方案.

由于您正在使用URL,因此您可能还需要查看parse_url解析URL,因为尾部斜杠不需要是URL路径的一部分.


rik*_*rik 13

$string[strlen($string)-1] 给你最后一个角色.

但是如果你想删除尾随斜杠,你可以这样做$string = rtrim($string, '/');.如果没有尾部斜杠,$string将保持不变.

  • `substr($ string,-1)`很好:) (3认同)