【发布时间】:2011-04-19 13:23:55
【问题描述】:
这是我可以一起破解的东西,但我想知道是否有人对我的问题有一个干净的解决方案。我拼凑起来的东西不一定非常简洁或快速!
我有一个像 ///hello/world/// 这样的字符串。我只需要去掉第一个和最后一个斜杠,其他的都不需要,这样我就得到了一个像 //hello/world// 这样的字符串。
PHP 的 trim 不太正确:执行 trim($string, '/') 将返回 hello/world。
需要注意的一点是,字符串的开头或结尾不一定有任何斜线。以下是我希望不同字符串发生的一些示例:
///hello/world/// > //hello/world//
/hello/world/// > hello/world//
hello/world/ > hello/world
提前感谢您的帮助!
【问题讨论】:
-
为什么不带一个真实世界的例子而不是这样一个假的呢?可能有更好的解决方案,仅适用于您的情况吗?一个真实的案例。
-
@col 这几乎是真实的世界。它是路由类的一部分,它通过当前 URL 路径路由到适当的控制器。我刚刚注意到
http://example.com/path/to/file解析为与http://example.com///path/to/file//相同的控制器,所以上面的示例几乎正是我得到的字符串的样子:) 我正在处理路径 -
但是有这么多个斜线的原因是什么?路径只需要一个。我从未见过这样的路径:
///path/to/file//。你从哪里得到它们,你为什么不想要规范化,使其成为通常的 /path/to/file/? -
哦,我不想要斜线。我在想非常极端的情况,比如有人输入错误的 URL。目前,我正在寻找的功能与配置相关联,因此可以逐个应用程序更改行为。也许我想太多了,但无论如何我都得到了我的问题的答案,所以我很高兴。我相信有一天我会有另一个用途!