我想知道如何使用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
)