开发者社区> 问答> 正文

Wordpress MySQL选择查询以过滤包含img标记但没有src属性或空src的每个帖子内容

问题 为了确定img在其帖子内容中包含标签的帖子,但没有img src或src属性根本不出现。

我尝试通过应用以下条件找到一种用于选择所有帖子内容的解决方案:

该img标签将出现一绝。

每个帖子内容必须具有html img标记,不带src,或至少带空src像<img src=""

以下是我用来完成此任务的内容

SELECT
  ID, post_title, post_content 
FROM 
  wp_posts 
WHERE 
  post_content LIKE('%<img % src=""%')
ORDER BY ID DESC;

题 先前的解决方案按预期工作,但是,我正在寻找使用正则表达式的更好解决方案,因为我想我错过了包含img标签的帖子内容,而src这些标签根本没有标签。

我正在尝试针对符合先前条件的所有可能情况。

样本帖子内容结果

<p align="center" style="text-align: center;">
  <img title="%2525ED%252599%252594%2525EB%2525B3%2525B4%2525EC%2525A7%252591%2B%2525ED%252591%25259C%2525EC%2525A7%252580%2B%2525EC%252597%252585%2525EB%2525A1%25259C%2525EB%252593%25259C.jpg" src="">
</p>

谢谢。

展开
收起
几许相思几点泪 2019-12-29 20:54:44 6361 0
1 条回答
写回答
取消 提交回答
  • 我使用正则表达式的方式需要先行断言,而MySql不支持。根据您的SQL判断, 标记和src属性在出现时总是小写(如果没有,请参见下文),则可以使用以下命令:

    SELECT
      ID, post_title, post_content 
    FROM 
      wp_posts 
    WHERE post_content LIKE '%<img %src=""%'
        OR (INSTR(post_content,'<img') <> 0  AND INSTR(post_content, 'src') = 0)
    ORDER BY ID DESC;
    
    

    如果标记或src属性可以使用大写字母,则无论上述SQL子句中post_content出现的位置是什么,都应WHERE将其替换为LOWER(post_content)。

    2019-12-29 20:55:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像