我正在尝试识别wordpress安装上的哪些帖子包含空段落,我手动找到一个并单击“编辑”,这就是我所看到的:
然后我尝试了一个类似的查询:
SELECT *
FROM `wp_posts`
WHERE `post_content` LIKE '%<p> </p>%'
未返回任何结果,并且我从找到的该行手动复制粘贴"<p> </p>"
。我也用这样的模式尝试了REGEXP:
#<p[^>]*>(\s| ?)*</p>#
但是仍然没有得到任何结果,我该怎么做才能找到那些空段落?
答案 0 :(得分:1)
为什么要搜索post_title
而不是post_content
?
SELECT ID
FROM `wp_posts`
WHERE `post_content` LIKE '%<p> </p>%'
应该有效。如果您要使用REGEXP
并允许包含
的段落:
SELECT ID
FROM `wp_posts`
WHERE `post_content` REGEXP '<p>[[:blank:]]*(&nbps;)?[[:blank:]]*</p>'
答案 1 :(得分:0)
改变这个:
WHERE `post_title` LIKE '%<p> </p>%'
对此:
WHERE `post_content` LIKE '%<p> </p>%'
再试一次。
答案 2 :(得分:0)
但替代方案可能是使用instr
类似于WHERE instr( post_content, '<p> </p>' ) > 0