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>