正在提取URL的一部分


Extracting a part of URL

我的excel表中有一个超链接,上面写着:

http://abc.com/u?/abc,143

当我打开这个链接时,结果是这样的:

http://abc.com/cdm4/document.php?CISOROOT=/abc&CISOPTR=160&CISOSHOW=143

每个链接都有一个新号码。在上面的例子中,它是"160"(CISOPTR=160)。

如何提取每个链接的数字并存储?

使用$_GET:

echo $_GET['CISOPTR']; // 160

.php?之后的所有内容通常都是GET请求参数的集合。您可以使用全局$_GET数组访问它们,如下所示:

$myvar = $_GET['CISOPTR'];

需要牢记的事项:

  1. 如果将该数据存储在数据库中,请记住转义该数据(数字使用intval(),字符串使用mysql_real_escape_string()
  2. 永远不要相信这些数据——这是经验法则。此数据可能格式错误或被恶意修改。在使用它之前一定要检查它

如果您不能像Sarfraz建议的那样使用$_GET,您可以如下解析URL:

$return = parse_url( 'http://abc.com/cdm4/document.php?CISOROOT=/kmag&CISOPTR=160&CISOSHOW=143');
parse_str( $return['query'], $pieces);
echo $pieces['CISOPTR']; // 160