PHP从URL获取

时间:2011-07-17 10:37:53

标签: php

我想知道如何使用PHP删除网址的某个部分。

这是问题中的确切网址:

http://www.mysite.com/link/go/ 370768 /

我想将数字ID删除到变量中。

任何帮助都会很棒,谢谢!

4 个答案:

答案 0 :(得分:2)

有许多(很多!)从字符串中提取数字的方法。这是一个假设URL以http://www.mysite.com/link/go/<ID>格式开头并提取ID的示例。

$url = 'http://www.mysite.com/link/go/370768/';
sscanf($url, 'http://www.mysite.com/link/go/%d', $id);
var_dump($id); // int(370768)

答案 1 :(得分:1)

使用explode()

print_r(explode("/", $url));

答案 2 :(得分:0)

我怀疑你正在使用某种框架。有两种方法可以检查$_GET变量:

print_r($_GET);

或查看框架手册的手册,看看如何在内部传递GET / POST,例如在CakePHP中,你可以在控制器内部保存所有参数,你可以像这样访问它们:

$this->params['product_id'] or $this->params['pass']

还有另一种解决方案不是非常可靠和专业但可能有效:

$path = parse_url($url, PHP_URL_PATH);
$vars = explode('/', $path);
echo $vars[2];

$ vars应该包含这样的数组:

array (
  0 => link
  1 => go
  2 => 370768
)

答案 3 :(得分:0)

您可以在.htaccess内使用mod_rewrite在内部将此网址重写为对PHP更友好的内容(例如,将/link/go/370768/转换为?link=370768