Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带空格的搜索字符串_Php_String - Fatal编程技术网

Php 带空格的搜索字符串

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

我的问题是我不能用空格搜索。搜索词包含在我的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 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搜索鱼,但我想要一个更广泛的搜索功能。