我正在尝试搜索数据库中与字符串匹配的wordpress帖子。
但是,我希望将包含匹配单词的行作为纯文本,而不是在链接中嵌入单词的行。
例如,如果帖子在' wp_posts'中有以下文字数据库表:
'This is a Test page: <a href="http://localhost/test-page">About Test</a>'.
我搜索“&#39; about&#39;在我的自定义查询中:
SELECT * FROM `wp_posts` WHERE post_content like '%about%';
所以我得到上面的帖子作为结果。 有没有办法可以忽略链接中嵌入搜索字符串的帖子,并获取其他搜索字符串作为普通字符串的一部分的帖子?
我尝试了一个REGEX查询,没有运气:
SELECT * FROM `wp_posts` WHERE post_content REGEXP '[[:<:]]about[[:>:]]';
答案 0 :(得分:2)
可能是这样的:
SELECT * FROM `wp_posts` WHERE post_content LIKE '%about%' AND post_content NOT REGEXP '>[^>]*about[^<]*<';
答案 1 :(得分:1)
答案 2 :(得分:0)
在sqlfiddle中它工作正常!
http://sqlfiddle.com/#!2/f1697/2
创建脚本
CREATE TABLE supportContacts
(
test longtext
);
INSERT INTO supportContacts(test) VALUES ('This is a Test page: <a href="http://localhost/test-page">About Test</a>')
选择强>
select * from supportContacts where test like '%about%'