Jerry: Preg_Match_all | <img finden

Hallo,

ich verzweifele an einer Sache, und zwar am Filtern von Bildern. Ich dachte ich hätte die Eigerlegende-Woll-Milch-Sau in den weiten des Internets gefunden:

preg_match_all('/<img([^>]+)?srcset="([^"]+)"([^>]+)?\/?>/i', $content_filter_1, $matches, PREG_SET_ORDER);

komplizierte Bilder mit srcset klappen wunderbar, aber einfache Anwendungen wie

<img class="pull-right img-thumbnail alignleft" src="https://via.placeholder.com/150" alt="Beispiel" />

funktionieren nicht. Was sollte ich hier tun?

  1. Hello,

    ich verzweifele an einer Sache, und zwar am Filtern von Bildern. Ich dachte ich hätte die Eigerlegende-Woll-Milch-Sau in den weiten des Internets gefunden:

    preg_match_all('/<img([^>]+)?srcset="([^"]+)"([^>]+)?\/?>/i', $content_filter_1, $matches, PREG_SET_ORDER);
    

    komplizierte Bilder mit srcset klappen wunderbar, aber einfache Anwendungen wie

    <img class="pull-right img-thumbnail alignleft" src="https://via.placeholder.com/150" alt="Beispiel" />
    

    funktionieren nicht. Was sollte ich hier tun?

    Du solltest den PHP-DOM-Parser benutzen und (fast) alle deine Sorgen lösen sich in Luft auf!

    Der benötigt auch nur drei, vier Standardzeilen und did eine, bei der Du dann deine Suche formulierst. Bei Interesse helfe ich Dif ab Montag 09.03. gerne weiter.

    Glück Auf Tom mobil

  2. Hallo Jerry,

    Was sollte ich hier tun?

    • Keine Regexe benutzen die nach srcset statt src suchen
    • Regex lernen und damit spielen (hier darauf achten dass PCRE ausgewählt ist)
    • Nicht nur blindlings kopieren, sondern den kopierten Code zu verstehen versuchen. regex101 hilft dabei immens!

    Rolf

    --
    sumpsi - posui - clusi