搜索以忽略ajax_refresh php代码中的撇号

时间:2019-02-25 18:56:50

标签: select search

我一直为此苦苦挣扎。我有一个快速搜索框,用户可以输入一个名称,并在下拉框中显示匹配的名称。我试图使搜索忽略撇号,但是我没有运气。

$keyword = '%'.$_POST['keyword'].'%';
$sql="SELECT Name, PedigreeId, DATE_FORMAT (DOB,'%Y') as DOB from pedigree WHERE Name LIKE \"$keyword\" ORDER BY Name ASC, DOB ASC LIMIT 0, 100";

我认为类似的方法可能有效,但不确定如何在代码中实现它:

$keyword = preg_replace("/[^A-Za-z0-9' ]/", " ", $keyword);
$keyword = preg_replace("/\s+/", " ", $keyword);
$keyword = strtolower(trim($keyword));

有人可以帮我吗? 预先感谢!

更新:我发现我可以做到这一点,如果您输入的名字像Julies(所有匹配项,例如Julie's&Julies)都可以输入,那么效果很好。但是,如果您键入Julie's,则一旦键入',它就不会显示任何结果。

$sql="SELECT Name, PedigreeId, DATE_FORMAT (DOB,'%Y') as DOB from pedigree WHERE replace(replace(replace(`Name`, '\'', ''), ',', ''), '-', '') LIKE \"$keyword\" ORDER BY Name ASC, DOB ASC LIMIT 0, 100";

有什么建议吗?我很茫然。

可以用%通配符将'和-替换为通票吗?

0 个答案:

没有答案