在 php 中,我有函数 get_query_string() 返回字符串变量。例如
$end_of_url = get_query_string();
print $end_of_url;
会打印我
?id=192
我需要把它放在网址的末尾,但是当我附加它时,我有类似的网址
http://mysite.com/device-information%3Fid%3D192
问号 (?) 在 ascii 值%3F中替换,在%3D中替换等号 (=) 。
如何将问号和等号正确放入url?
添加的代码:
<div id="navigationLang" class="clearfix" style="margin-right: 60px;">
<?php
$path = $_GET['q'];
$languages = language_list('enabled');
$links = array();
foreach ($languages[1] as $language) {
$links[$language->language] = array(
'href' => $path.get_query_string(),
'title' => ucfirst($language->prefix),
'language' => $language,
'attributes' => array('class' => 'language-link'),
);
}
function get_query_string(){
$request_url = apache_getenv("HTTP_HOST") . apache_getenv("REQUEST_URI");
$request_url = "http://".$request_url;
$parts = parse_url($request_url);
$end_of_url = $parts['query'];
if ($end_of_url != "") {
$end_of_url = '?'.$parts['query'];
$a = htmlentities($end_of_url);
$b = html_entity_decode($a);
return $b;
}
else {return ""; }
}
主要问题是打印/回显工作正常,但是当我在网站链接中测试它时,链接带有 ascii 符号(%3F 和 %3D),我需要问号和等号