删除字符串开头和结尾的内容 (PHP)
我试图从字符串中获取用户 ID,例如:
http://www.abcxyz.com/123456789 /
显示为 123456789 本质上是剥离第一个 / 之前的信息,并删除末尾的 /。我确实在网上浏览过,但似乎有很多解决方案,但没有任何答案可以回答开始和结束。
谢谢:)
更新 1
该链接可以采用两种形式:如上所述的 mod_rewrite 以及“http://www.abcxyz.com/profile?user_id=123456789”
I'm trying to get a users ID from a string such as:
http://www.abcxyz.com/123456789/
To appear as 123456789 essentially stripping the info up to the first / and also removing the end /. I did have a look around on the net but there seems to be so many solutions but nothing answering both start and end.
Thanks :)
Update 1
The link can take two forms: mod_rewrite as above and also "http://www.abcxyz.com/profile?user_id=123456789"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我会使用
parse_url()
从 URL 中干净地提取路径组件:然后使用
explode()
将路径拆分为其元素:然后输出路径的第一个组件:
此方法适用于像
这样的边缘情况>http://www.example.com/123456789?test
http://www.example.com//123456789
www.example.com/123456789/abcdef< /code>
甚至
/123456789/abcdef
I would use
parse_url()
to cleanly extract the path component from the URL:and then split the path into its elements using
explode()
:and then output the first component of the path:
this method will work in edge cases like
http://www.example.com/123456789?test
http://www.example.com//123456789
www.example.com/123456789/abcdef
and even
/123456789/abcdef
如果 ID 始终是 URL 的最后一个成员
If the ID always is the last member of the URL
如果 URL 中没有其他数字,您还可以
删除所有非数字的内容。
这可能比使用
parse_url
+parse_str
组合要快一些。If there is no other numbers in the URL, you can also do
to strip out everything that is not a digit.
That might be somewhat quicker than using the
parse_url
+parse_str
combination.如果您的域不包含任何数字,您可以使用以下方法处理这两种情况(有或没有 user_id):
If your domain does not contain any numbers, you can handle both situations (with or without user_id) using: