У меня есть таблица в CMS на основе MySQL, одно из полей которой содержит текст статей, отображаемых на веб-страницах CMS.Как извлечь несколько тегов HTML из таблицы MySQL
Некоторые из статей содержат изображения, встроенные в текст, в виде тегов HTML «img». В тексте, содержащемся в поле, может быть одно или несколько изображений.
Что я хочу сделать, так это создать запрос, который будет извлекать список всех изображений во всех статьях. Мне удалось создать некоторый код следующим образом:
SELECT nid,
substr(body,locate('<img', body),(locate('>',body,locate('<img', body)) - locate('<img', body))) as image,
body FROM `node_revisions` where body like '%<img%'
и это, кажется, работает нормально, но, конечно, он извлекает только первое изображение, и я бы очень хотел, чтобы извлечь все из них (на самом деле, конечно, это будет обычно означает использование цикла, но это не представляется возможным в MySQL).
Для справки, рассматриваемой CMS является Drupal 6, следовательно, имена полей и таблицы. Однако на самом деле это вопрос о MySQL, а не Drupal, поэтому я прошу здесь не на сайте Drupal Stackexchange.
Я предлагаю делать это с чем-то вроде PHP скорее, MySQL. [Этот ответ] (http://stackoverflow.com/questions/6449072/doing-calculations-in-mysql-vs-php#answer-6449162) может быть информативным. Вот еще одна статья (https://www.quora.com/What-is-faster-for-calculations-in-MySQL-or-PHP). – showdev