在url PHP中用%替换%

时间:2013-03-07 22:20:14

标签: php url url-rewriting htmlspecialchars magic-quotes-gpc

好吧,我有一个可能是愚蠢的问题 在我的网站上,我有搜索选项,即使用GET metod输入,但是当有人输入长分隔的单词时

我有时候空白

我在我的网址中得到了这个

http://www.example.com/search.php?page=1&txtPretraga=I%AM%SOMETIMES%BLANK

我不知道如何改变它? 我想要像这样的干净的URL http://www.example.com/search.php?page=1&txtPretraga=I-AM-SOMETIMES-BLANK

我想用 - 在我的ULR中改变% -

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您可以在php代码中使用str_replace: http://php.net/manual/en/function.str-replace.php

$search_qry = "Whatever%They%Type";
$replace = str_replace($search_qry, "%", "-");

编辑: 对于你的字符串 - 它们有空格,在URL中显示为%,所以在你执行$ _GET之前使用它

$search_qry = "Whatever They Type";
$replace = str_replace($search_qry, " ", "-");

编辑2 由于这是一个$ _GET - 在发送之前必须使用Javascript来清理字符串。 (在这里使用jQuery和javascript)

<script type = "text/javascript">
    $(document).ready(function(){
        $('.example-input').blur(function(){
            var str = $(this).val();
            var clean_str = str.replace(" ", "-");
            $(this).val(clean_str);
        });
    });
</script>

这应该在输入框中清除字符串,然后才能通过get发送。 或者代替.blur,你可以使用$('submit-button')。click(function(){...

或者,您可以使用.htaccess文件进行mod重写。但我不太清楚这一点。

答案 1 :(得分:0)

好的,我得到了解决问题的方法:)

这不是PHP的问题,它适用于Javascript,我编写了这个函数

<script type="text/javascript">
function provera() {
var x=document.forms["hsearch"]["txtPretraga"].value;
var n=str.replace(" ","-");
}
</script>