文章摘要
这篇文章讨论了在PHP中处理URL时遇到的问题,特别是某些特殊符号如#、&、+、;等无法直接传递到URL中,无法通过$_GET获取。当遇到这样的情况时,可以利用浏览器地址栏的内容来获取完整的URL参数。通过读取REQUEST_URI变量,并搜索其中包含的URL段,可以间接获取完整的数据。代码中使用strstr和substr函数实现这一目标,从而解决URL处理中的不可传递字符问题。
有些符号在URL中是不能直接传递的,无法传入PHP处理,比如#&等符号,通过$_GET是获取不到的,比如一个域名https://localhost/url.php?url=yangyufei+eating&drinking,只能获取到yangyufei eating。
这个时候只能变通一下,想想用户访问这个地址,他的浏览器地址栏是不是就有这个链接的完整形式,我们只要读取到访客的地址栏里的这个链接,然后进行处理不就能获取到完整的数据了吗?
代码如下:
<?php
$url = $_SERVER[“REQUEST_URI”];
$searchString = “url=”; // 定义要查询的字符为url=
$url = strstr($url,$searchString);
$length = strlen($searchString);
$url = substr($url, $length);
echo $url;
?>
© 版权声明
文章版权归作者所有,未经允许请勿转载。