【发布时间】:2014-08-12 09:16:15
【问题描述】:
我正在尝试在我的数据库中搜索与字符串匹配的 wordpress 帖子。
但是,我希望将其中包含匹配单词的行作为纯文本获取,但不是将单词嵌入链接中的行。
例如,如果一个帖子在数据库的'wp_posts'表中有以下文本:
'This is a Test page: <a href="http://localhost/test-page">About Test</a>'.
然后我在我的自定义查询中搜索“关于”这个词:
SELECT * FROM `wp_posts` WHERE post_content like '%about%';
所以我得到了上面的帖子作为结果。 有没有办法我可以忽略在链接中嵌入了搜索字符串的帖子,并获取其他将搜索字符串作为普通字符串一部分的帖子?
我尝试了一个 REGEX 查询,但没有成功:
SELECT * FROM `wp_posts` WHERE post_content REGEXP '[[:<:]]about[[:>:]]';
【问题讨论】:
-
about 是否区分大小写? about vs About ... SELECT * FROM
wp_postsWHERE lower(post_content) like '%about%'; -
这里不区分大小写。结果可以包括任何内容。
-
post_content 是什么数据类型?
-
post_content 的数据类型为“longtext”
-
mysql版本为:5.1.36
标签: mysql sql database wordpress