Ich habe eine Tabelle in einem MySQL-basierten CMS, dessen Felder den Text von Artikeln enthalten, die auf den CMS-Webseiten angezeigt werden.Wie kann ich mehrere HTML-Tags aus einer MySQL-Tabelle extrahieren?
Einige der Artikel enthalten Bilder eingebettet in den Text in Form von HTML-Tags 'img'. Es kann ein oder mehrere Bilder in dem Text geben, der in dem Feld enthalten ist.
Was ich tun möchte, ist eine Abfrage erstellen, die eine Liste aller Bilder in allen Artikeln extrahiert. Ich haben es geschafft, einen Code zu erstellen, wie folgt:
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%'
und dies scheint in Ordnung zu arbeiten, aber natürlich ist es extrahiert nur das erste Bild, und ich würde wirklich alle von ihnen extrahieren möchte (in der Tat natürlich würde dies Im Allgemeinen bedeutet das Verwenden einer Schleife, aber das scheint in MySQL nicht möglich zu sein.
Nur als Referenz ist das CMS in Frage Drupal 6, daher die Namen der Felder und Tabelle. Dies ist jedoch wirklich eine Frage zu MySQL nicht Drupal, weshalb ich hier nicht auf der Drupal Stackexchange Seite frage.
ich mit so etwas wie PHP tun dies empfehlen eher das MySQL. [Diese Antwort] (http://stackoverflow.com/questions/6449072/doing-calculations-in-mysql-vs-php#answer-6449162) könnte informativ sein. Hier ist [ein anderer Artikel] (https://www.quora.com/What-is-faster-for-calculations-in-MySQL-o--PHP). – showdev