我正在尝试构建一个在线词典,它从用户那里获取输入并追溯到数据库,然后像输入一样打印输出,但问题是如果用户输入的空格超过2个(即John Wick),结果返回找不到(在我的数据库中是John Wick)。到目前为止,这是我的代码:
SELECT `E_word`,`V_word` FROM word WHERE `V_word` REGEXP '$word'";
其中$ word是来自用户的输入变量
答案 0 :(得分:0)
在将变量发送到preg_replace
之前使用 SQL Query
,并将多个空格转换为单个空格。
$word = 'John Wick';
$result = preg_replace('!\s+!', ' ', $word );
var_dump($result);
Output:
John Wick
还使用带有查询的通配符%
$query = "SELECT `E_word`,`V_word` FROM word WHERE `V_word` LIKE '".$result."%'";