我如何从变量中获取此URL的代码?
http://www.site.com/#code=123
我试过了:
if (isset($_GET['code'])){
$code = $_GET['code'];
}
但api会返回#而不是&还是?
我用javascript找到了一种感谢大家的方式
<script>
var hash = false;
checkHash();
function checkHash(){
if(window.location.hash != hash) {
hash = window.location.hash;
processHash(hash);
} t=setTimeout("checkHash()",400);
}
function processHash(hash){
window.location.href = "code.php?code=" + hash.substr(7);
}
答案 0 :(得分:1)
你能用PHP试试吗,
$url=parse_url("http://www.site.com/#code=123");
echo $fragment = $url["fragment"];//code=123
if($fragment!=""){
list($codeName, $codeValue) = @explode("=", $fragment);
echo $codeValue; //123
}
答案 1 :(得分:1)
hashtag片段不是HTTP协议的一部分,仅作为单个页面内的方向的客户端。你不能用PHP解析它,因为它不能作为请求通过网络发送。
http://www.w3.org/TR/WD-html40-970708/htmlweb.html
片段网址
本文档编写时的URL规范 ([RFC1738])提供了一种引用资源的机制,但不提供引用资源的机制 资源中的位置。 Web社区采用了一种约定 称为“片段URL”以引用HTML文档中的锚点。一个 片段URL以“#”结尾,后跟锚标识符。对于 实例,这是一个指向名为锚的片段URL section_2:
您说API会返回此网址。考虑保存在变量$url
中的网址,您可以从$url = parse_url($url);
开始使用Krish R的答案。
如果你想从URL加载内容,那么兔子会像file_get_contents('http://www.site.com/');
那样 - 如上所述,因为hashtag不是HTTP的一部分。
答案 2 :(得分:0)
我认为您的PHP没问题,但网址似乎很奇怪。在url中第一个'key = value'之前应该有一个?符号