PHP Get From URL


PHP Get From URL

我想知道如何使用PHP删除url的特定部分。

这是问题中的url:

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

我希望将数字ID删除到一个变量中。

任何帮助将是伟大的,谢谢!

从字符串中提取数字有很多(很多!)方法。下面是一个示例,假设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)

使用explode()

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

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

我怀疑您正在使用某种框架。有两种方法可以检查$_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
)