来自不包含的网址的ID?= id

时间:2017-09-17 12:50:04

标签: php

我目前正在制作一个网站(使用PHP和数据库),还有一些我不知道的事情。

您是否可以从此类网址获取ID,例如egh95.com/u1egh95.com/t52-it-s-a-new-day? 就像我只想要int作为我的ID。我尝试使用$_Server["REQUEST_URI"]并从URL中删除所有字符和符号,但是我得到的int,没有用来从数据库中获取信息。

我知道如何使用$_GET["id"]从网址获取int(这是唯一可以运行atm的东西),但我实际上并不希望网址为{{1或类似的东西。

2 个答案:

答案 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"