Php 带空格的搜索字符串
我的问题是我不能用空格搜索。搜索词包含在我的url中: 结果一无所获。只有当我用一个词时。。有什么建议吗Php 带空格的搜索字符串,php,string,Php,String,我的问题是我不能用空格搜索。搜索词包含在我的url中: 结果一无所获。只有当我用一个词时。。有什么建议吗 <form action="index.php" method="GET"> <input type="hidden" name="url" value="search" /> <input type="text" name="query" class="text" placeholder="Søk etter prosjek
<form action="index.php" method="GET">
<input type="hidden" name="url" value="search" />
<input type="text" name="query" class="text" placeholder="Søk etter prosjekter.." style="height:12px;"/>
<input type="submit" value="" class="search-button" />
</form>
试试这个:
$queries = explode("+", $_GET['query']);
$raw_results = mysql_query("SELECT *, account_created FROM users
WHERE (`username` LIKE '%".$queries[0] ."%') OR (`username` LIKE '%".$queries[1] ."%') OR (`motto` LIKE '%".$queries[0]."%') OR (`motto` LIKE '%".$queries[1]."%') ORDER BY account_created DESC") or die(mysql_error());
这是URL的编码和解码问题,空格等特殊字符将被转换为安全等价符 您需要解码url
<?php
$varr = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($url));
$varr = html_entity_decode($url,null,'UTF-8');
?>
输入:
$query = "fish+chips";
fish chips
输出:
$query = "fish+chips";
fish chips
您是否检查了PHP中$query的值?正确吗?什么是$query。你必须使用$IO请求[查询]。考虑使用FultLeXT索引来搜索多个单词。现在可以使用两个单词,但它只返回表用户中的所有用户或座右铭。现在有什么问题?它仍然没有返回任何内容。只有一个词起作用。在topOutput中添加的代码是正确的。如果我搜索鱼+薯条,它仍然没有从数据库中找到任何东西。我有一个名为fish和座右铭chips的用户,返回为空。我无法理解您试图实现的目标。问题是,如果我搜索“fish chips”,它无法找到用户“fish”。人们将以不同的方式使用搜索。最简单的方法是ofc搜索鱼,但我想要一个更广泛的搜索功能。