1

我目前正在改进我的 cms 的搜索功能,以便用户可以通过从网页复制和粘贴文本并在数据库中找到它来搜索条目。

查询很简单。它接受搜索词并执行 LIKE '% text here %' 查询。

问题是,我没有得到很多结果并且已经弄清楚了原因。

在 CMS 本身中,从 MS Word 输入的许多文本似乎都是双倍行距的。如

"Hello my  name  is James"

但是在前端网站上,它可以正确呈现,带有单个空格,例如:

"Hello my name is James"

这意味着我的查询永远不会根据网页上显示的内容获取数据库条目。

有什么建议么?我是否要处理 CMS 中的双空格(那里有这么多 HTML 对我来说似乎很危险!),还是我可以调整我的查询以应对它?

4

2 回答 2

1

看一眼MySQL REPLACE

REPLACE(str,from_str,to_str)

返回字符串 str,其中所有出现的字符串 from_str 都替换为字符串 to_str。 REPLACE()搜索 from_str 时执行区分大小写的匹配。

于 2013-04-09T08:46:17.473 回答
1

如果只是造成问题的只有双空格,那么只需

replace(columnToSearch,'  ',' ') 

在搜索时,或者正如@ManMohan 建议的那样,在首先将数据插入表之前

于 2013-04-09T08:49:12.947 回答