使用php获取URL时出现带#号等特殊符号的参数如何解决

本篇文章给大家分享的是有关索引php获取URL时出现带#号等特殊符号的参数如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

例如下面的PHP代码:

<?php
echo $_GET['key'];
?>


当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='btn' onclick="searchsn();" href="javascript:;">查询</a>
<script>
    function searchsn() {
        var keys = $('#searchs').val();
        if (keys == '') {
            alert('请填写SN码');
            return false;
        }
        keys = escape(keys); //对字符串进行编码,* @ - _ + . / 这几个字符除外
        window.location.href = 'c.php?key=' + keys;
    }
</script>

以上就是索引php获取URL时出现带#号等特殊符号的参数如何解决,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。