2010-09-27 47 views
0

有在我们的网站上的CKEditor字段,将其保存的HTML文本字段在MySQL数据库中。MySQL在html文本字段中搜索文本?

什么我不知道,如果存在一个函数(正则表达式的例子吗?)做一个LIKE匹配时,可以去掉HTML标记,

例如让搜索:

LIKE '%这是一个测试%'

会发现

“这<强>是< /强>测试

给我的感觉,它将不实际/可能,但值得一问!

+1

[朋友不让朋友用正则表达式解析HTML。](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) – Ether 2010-09-27 19:04:48

回答

1

我觉得你最好的选择将是去除所有的HTML和存储的一个纯文本版本数据库中的表。正如Ether指出的那样,当你这样做的时候不要使用REGEX去除HTML。

+0

同意。如果你要做很多这样的搜索,那么值得在数据库中留出额外的空间。您的意见 – 2010-09-27 20:19:28

+2

谢谢,可惜我不能一个字段添加到数据库,但我解决此问题得到了通过劈裂搜索短语的每个字,做LIKE“%firstword%”和LIKE“%secondword%”等等等等。在所有情况下都不理想,但客户对此解决方案感到满意,至少现在是这样! – JohnK 2010-09-28 19:07:13