mysql: как выбрать тело блога, в котором только текст отсутствует? - PullRequest
0 голосов
/ 01 мая 2019

У меня есть 80K узлов в моем блоге, и я хочу выбрать только те тела блога, в которых нет изображений (изображений).
Я пытался

 select * from field_data_field_body where (field_body_value like '<img%>' or field_body_value like '<p><img%/></p>');     

но я хочу убедиться, что я взял все узлы только с изображением тела.

Есть ли лучший способ?

обновление
Вот пример некоторых значений тела:

<img width=\"120\" vspace=\"5\" hspace=\"5\" height=\"90\" border=\"0\" align=\"left\" src=\"/static/video/missiles.jpg\" /> <h2><a href=\"/items/itembody/200410290009\">Some tests value </a></h2>     

<p><img src=\"/static/images/home/205/rove-205.JPG\" /></p>    <--need these 

<img src=\"/static/images/90billion.jpg\" class=\"post-right\" width=\"450\" height=\"246\" /></p>\n<p>The media declared</a> one of the top last night</p>    

while <p><img src=\"/static/images/hornerb.jpg\" width=\"645\" height=\"337\" /></p>\n<p>An independent report has all but destroyed one of the right\'s most cherished \"scandals,\" </p>    

<p><img src=\"/static/images/205/rove-205.JPG\" /></p>    <--need these 

1 Ответ

1 голос
/ 01 мая 2019

Если ваше field_body_value представляет собой просто длинную строку HTML, которая может содержать тег, и вы хотите найти строки, которые содержат это где-нибудь в поле, это должно работать.Вы должны использовать подстановочный знак как до, так и после искомого значения, потому что оно может появиться в любом месте текста.

select * from field_data_field_body where field_body_value like '%<img%'; 
...