首页 >后端开发 >php教程 >php获取URL中带#号等特殊符号参数的方法

php获取URL中带#号等特殊符号参数的方法

小云云
小云云原创
2018-03-16 14:19:153996浏览

本文主要和大家介绍了php获取URL中带#号等特殊符号参数的解决方法,本文使用JS中的escape函数编码后传递解决这个问题,需要的朋友可以参考下,希望能帮助到大家。

今天遇到一个前端用vle.js的带#号路径需要调转到后台接口获取参数,再由接口url返回当前页面
前端将要返回的url今天转义用函数escape
  keys = escape(keys); //对字符串进行编码,* @ - _ + . / 这几个字符除外
php端的处理,用php获取url函数先获取当前url路径,通过rawurldecode函数转码回来
$aurl = rawurldecode($aurl);
$url = explode('url=',$aurl)[1];
这样就可以使用#号在url中进行跳转了

先忙是函数使用实例:

例如下面的PHP代码:

<?php
echo $_GET[&#39;key&#39;];
?>

当url为http://test.com/c.php?key=999时,正常输出:999
当url为http://test.com/c.php?key=9#888时,只能输出:9
而我想要获得的是9#888,那要怎么办呢?只能在把9#888传递给key的这个环节想办法。
我是用JS中的escape函数编码后传递解决了这个问题,需要的朋友可以参考一下。

<input placeholder="输入SN码" type="text" id="searchs" name="searchs" />
<a class=&#39;btn&#39; onclick="searchsn();" href="javascript:;">查询</a>
<script>
    function searchsn() {
        var keys = $(&#39;#searchs&#39;).val();
        if (keys == &#39;&#39;) {
            alert(&#39;请填写SN码&#39;);
            return false;
        }
        keys = escape(keys); //对字符串进行编码,* @ - _ + . / 这几个字符除外
        window.location.href = &#39;c.php?key=&#39; + keys;
    }

</script>

相关推荐:

php如何获取url实例详解

PHP正则匹配获取URL中域名的代码

php 获取url中文件扩展名

以上是php获取URL中带#号等特殊符号参数的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn