我一直在使用URL解码来处理$_GET中的编码URL变量。
我目前遇到的问题是有一个像这样编码的URL:
blah.php?url=http%3A%2F%2Fm.youtube.com%2F#/watch?feature=player_embedded&v=zd7c5tQCs1I&desktop_uri=%2Fwatch%3Fv%3Dzd7c5tQCs1I%26feature%3Dplayer_embedded
我不确定这种编码方式是什么,可以有人帮我吗?当我只使用"urldecode"时,它只返回m.youtube.com
编辑:我的问题不是url解码不起作用,如果我手动输入此编码URL并使用urldecode(),它会起作用,但当此编码URL在实际页面URL中,并使用_GET函数进行解码时,则会从URL中剥离掉"#"之后的所有内容。
<?php print urldecode($_GET["url"]);?>
它返回
"http://m.youtube.com/"
而不是
"http://m.youtube.com/#/watch?feature=player_embedded&v=zd7c5tQCs1I&desktop_uri=/watch?v=zd7c5tQCs1I&feature=player_embedded"
我认为问题在于井号没有被编码,如果我刷新页面,它会剥离掉井号和井号之后的所有内容,那么如何解决这个问题?即使有一个井号(#),我还能从"GET"中检索到信息吗?