我目前正在制作一个网站(使用PHP和数据库),还有一些我不知道的事情。
您是否可以从此类网址获取ID,例如egh95.com/u1
或egh95.com/t52-it-s-a-new-day
?
就像我只想要int作为我的ID。我尝试使用$_Server["REQUEST_URI"]
并从URL中删除所有字符和符号,但是我得到的int,没有用来从数据库中获取信息。
我知道如何使用$_GET["id"]
从网址获取int(这是唯一可以运行atm的东西),但我实际上并不希望网址为{{1或类似的东西。
答案 0 :(得分:0)
我只是使用基本的正则表达式,如果是这样的话。
$url = 'egh95.com/u1';
preg_match('/^.*\/u(?P<data>.*)/', $string, $matches);
echo $matches['data'];
$ matches [&#39; data&#39;]包含你之后的数字,在这种情况下1. Here是PHP中正则表达式的一些文档,如果您有兴趣的话。
答案 1 :(得分:0)
如果您使用Apache,则可以使用ModRewrite实现用户友好的URL。通过少量工作实现您所写的内容是一种简单的方法。然后在.htaccess
文件中写下以下行:(假设您要处理index.php
文件中的ID)
Options FollowSymLinks
RewriteEngine On
RewriteRule "^u(.*)$" "index.php?id=$1"