0

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

我有时是空白的

我的网址里有这个

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 中用 - 更改 %

有任何想法吗?

4

2 回答 2

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 重写。但我还不够了解。

于 2013-03-07T22:21:59.543 回答
0

好的,我解决了这个问题:)

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

<script type="text/javascript">
function provera() {
var x=document.forms["hsearch"]["txtPretraga"].value;
var n=str.replace(" ","-");
}
</script>
于 2013-03-07T23:23:52.557 回答