【发布时间】:2019-08-03 21:12:14
【问题描述】:
我有一个名为 posts 的表。
它包含id和post_content:
ID post_title post_content
1 aaaa <p>AAaa</p><img src="https://domain/uploads/aa.jpg"><p>Addd<img src="https://domain/uploads/assssa.jpg"></p>
2 bbb <img src="https://domain/uploads/bbbb.jpg"><p>xxxxx<img src="https://domain/uploads/xxxxx.jpg"></p>
3 ccc <p>aaaaa</p><img src="https://domain/uploads/aa.jpg">
我想从每个具有特定域的 post_content 中提取图像 src。每个 post_content 有多个图像。
就像我只想获取带有这样 url 的图像:
<img src="https://aaaaa.co.jp/uploads/">
注意:<img src=""> 内部可以有宽度、高度、类或 id。
像这样:
<img src="" class="" id="">
或
<img width="" height="" src="" class="" id="">.
我已经从这里尝试过这个: Extract the URL from img src with a mysql query
其中一些会返回图片 url,但有些不会。
这是我目前的查询:
SELECT
post.ID,
post.post_title,
SUBSTR(SUBSTR(post.post_content,
LOCATE('src="', post.post_content) + 5),
1,
LOCATE('"',
SUBSTR(post.post_content,
LOCATE('src="', post.post_content) + 5)) - 1) AS 'src'
FROM
tokyo_posts post;
所以这是我想要的输出:
ID post_title post_content
1 aaaa https://domain/uploads/aa.jpg
1 aaaa https://domain/uploads/assssa.jpg
2 bbb https://domain/uploads/bbbb.jpg
2 bbb https://domain/uploads/xxxxx.jpg
3 ccc https://domain/uploads/aa.jpg
注意:我使用的是 wordpress 数据库。我将使用此查询来导入图像。
Mysql版本:5.6.42
【问题讨论】:
-
在 PHP 中执行此操作对我来说似乎是一个更好的选择。