好吧,我有一个可能是愚蠢的问题 在我的网站上,我有搜索选项,即使用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中改变% -
有什么想法吗?
答案 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>