如何在PHP中获取整个URL字符串(包括&;,?)?

如何在PHP中获取整个URL字符串(包括&;,?)?,php,string,url,Php,String,Url,我只想在参数中获取URL字符串。 所以我编码如下: //In my HTML file. <script> document.write('<iframe id="ifr1" src="http://{domain}/prj.php?url=https://www.google.co.kr/search?sugexp=chrome,mod=3&sourceid=chrome&ie=UTF-8&q=url+utf8+encoding#sclient=ps

我只想在参数中获取URL字符串。 所以我编码如下:

//In my HTML file.
<script>
document.write('<iframe id="ifr1" 
src="http://{domain}/prj.php?url=https://www.google.co.kr/search?sugexp=chrome,mod=3&sourceid=chrome&ie=UTF-8&q=url+utf8+encoding#sclient=psy-ab&hl=ko&newwindow=1&prmdo=1&tbm=klg&q=google&oq=google&aq=f&aqi=g10&aql=&gs_l=serp.3..0l10.2207859.2208404.3.2208459.6.4.0.1.1.3.496.1353.2-2j1j1.4.0...0.0.O1lbexylHQM&pbx=1&prmdo=1&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=b8fee9fdb4e7f90&biw=1440&bih=828&a=' +'asdf'+" width="100%" height="100%" frameborder="0">   </iframe>');
</script>

//In my php file
$message = $_GET['url'];
echo("$message");
//在我的HTML文件中。
文件。写(“”);
//在我的php文件中
$message=$_GET['url'];
回音(“$message”);
但我只知道https://www.google.co.kr/search?sugexp=chrome,mod=3'

怎么了


我想得到整个URL字符串。包括&、?、或其他所有内容。

您需要使用来编码url参数。

原因是您将一种编码转换为另一种编码

第一个是:

prj.php?url=[somedata]
其中,[somedata]是包含另一个键/值集合的URL:

https://url/etc/search?key1=value1&key2=value2
如果url参数不是urlencoded,则无法将
/prj.php
的参数与
/search
的参数区分开来,假定使用
&key=value&key=value…
语法定义的所有参数都属于第一页

诀窍是对url参数进行url编码,但如何编码取决于上下文

如果url是通过PHP以数字方式生成的,请使用
urlencode()
函数


如果你的url是硬编码的(不是通过PHP生成的),你可以为自己编写一个小PHP工具来完成这项工作,或者使用一个在线编码器,比如

Downvoted,因为我觉得它不正确,这取决于上下文。如果有动机,我愿意讨论这个问题并取消否决票。