如何从查询字符串中提取var并将其(echo)写入html



我想从查询字符串中取出var1和var2,并将其(echo)写入HTML。

看起来很简单,但我的URL需要这样形成:

http://example.com/filename.html#var1=FOO&var2=BAR

注意文件名后面的散列--URL不包含正常的?查询字符串分隔符。

如何用一个简单的函数来实现这一点。。。这似乎是一个基本问题,但我无法使用需要#before?的URL语法?。

提前感谢!

UPDATE UPDATE UDATE-基于@Musa答案中的代码示例。

我想从窗口位置获取PHP_URL_FRAMMENTS,并将它们写入HTML,我正在尝试这样做:

// get the URL from window location:
$pageURL = $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://';
$pageURL .= $_SERVER['SERVER_PORT'] != '80' ? $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"] : $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
return $pageURL;
// parse URL including #fragments:
parse_str (parse_url ($pageURL, PHP_URL_FRAGMENT ), $args);
// write var values into the HTML:
    echo $args['var1'], ' ', $args['var2'];

我要么没有正确创建$pageURL,要么在parse_str行中出错。

仍然使用如下URL语法:http://example.com/filename.html#var1=FOO&var2=BAR

向导们有什么解决方案吗?非常感谢。

parse_str (parse_url ("http://example.com/filename.html#var1=FOO&var2=BAR", PHP_URL_FRAGMENT ), $args);
echo $args['var1'], $args['var2'];

http://php.net/manual/en/function.parse-url.php

http://php.net/manual/en/function.parse-str.php

DEMO

您可以通过Javascript传递它,也可以将它作为隐藏的表单元素发送到服务器。

锐符号后的部分(哈希部分)通常不会通过浏览器传递到服务器。

您可以检查服务器日志-收到的get请求将为"http://example.com/filename.html",但不是"http://example.com/filename.html#?var1=FOO&var2=BAR"

相关内容

  • 没有找到相关文章

最新更新