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

Php 如何从查询字符串中提取var并将其(echo)写入html?,php,query-string,dynamic-keyword,Php,Query String,Dynamic Keyword,我想从查询字符串中提取var1和var2,并将其(echo)写入HTML 看起来很简单,但我的URL需要这样形成: http://example.com/filename.html#var1=FOO&var2=BAR 请注意,文件名--URL后面的散列不包含正常的?查询字符串分隔符 我如何用一个简单的函数来实现这一点。。。这似乎是一个基本问题,但我无法使用需要#before?的URL语法 提前谢谢 更新UDATE-基于@Musa答案中的代码示例 我想从窗口位置获取PHP_URL_片段,

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

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

http://example.com/filename.html#var1=FOO&var2=BAR
请注意,文件名--URL后面的散列不包含正常的
查询字符串分隔符

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

提前谢谢

更新UDATE-基于@Musa答案中的代码示例

我想从窗口位置获取PHP_URL_片段,并将其写入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'];


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

夏普符号后的部分(散列部分)通常不会通过浏览器传递给服务器


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

那么您需要一个解决方案来解决必然无效的URL吗?为什么那里必须存在
。谷歌在为网页编制索引时,会忽略URL中
#
之后的任何内容。因此它处理
http://example.com/pagename.html
&
http://example.com/pagename.html#somefragment
与同一页相同。但是,它会看到
http://example.com/pagename.html
&
http://example.com/pagename.html?var1=foo&var2=bar
作为两个不同的页面,您正在稀释链接果汁并污染您的分析。Google支持
#
,因为查询字符串delim的问题是,片段没有传递到服务器,因此PHP不能严格从请求本身获得完整的URI。好吧,你是rockstar。但我想从窗户的位置抓取碎片。我已经根据您的代码示例更新了我的问题,但我认为需要稍作调整才能使其正常工作。谢谢你的帮助@RoweMorehouse片段未在请求中发送,因此您无法在服务器上访问它,您必须包含一些客户端逻辑最佳答案,但我仍然没有解决我的问题;我需要客户端逻辑来提取散列。尝试javascript唯一的解决方案。谢谢你的时间!谢谢,回答得好。我知道我可以用javascript从窗口位置抓取URL,比如
alert(window.location)
但如果可能的话,我现在正尝试使用纯PHP解决方案。