2010-09-27 80 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