1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Erste Image URL aus Content extrahieren

Dieses Thema im Forum "Allgemeines" wurde erstellt von fuhrmara, 6. Oktober 2009.

  1. fuhrmara

    fuhrmara Well-Known Member

    Registriert seit:
    15. Januar 2009
    Beiträge:
    275
    Zustimmungen:
    0
    Hallo!

    Für ein Wordpress System würde ich gerne die erste, im Content vorkommende URL eines Bildes auslesen und in einem anderen Feld abspeichern.
    Problem ist hierbei (zumindest für mich) das nach dem einleitenden IMG tag nicht zwingend das SRC folgen muss, sondern ggf. noch style Angaben oder weißnichtwas dazwischen stehen kann.

    Aktuell sieht meine Funktion so aus, wobei in $content halt der Content enthalten ist.

    <code>
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $content, $matches);
    $this->post['meta']['_thumbnail_url_value'] = $matches [1] [0];
    </code>

    Nur leider gehts nicht.
    Jemand eine Idee ??
     
  2. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Mh, ich kann dir zwar nicht helfen, wäre aber ebenfalls sehr an einer Lösung interessiert. Habe das gleiche Problem wie du und auch bei mir folgt nicht unbedingt src auf img. Dazwischen stehen oft einige Sachen, leider. Ich muss momentan die Bild-Url noch manuell in zwei Felder eintragen...
     
  3. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Was genau funktioniert denn nicht?
    Mal davon abgesehen, daß es für den ersten Treffer auch ausreichen würden, preg_match (ohne _all) zu verwenden, funktioniert es in einem Kurztest bei mir einwandfrei.
    Wo, wie und wann wird denn der Code aufgerufen?

    Gruß
    Ingo
     
  4. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Wo genau muss ich den Code zum Testen einbauen? Dann probiere ich es auch mal aus!
     
  5. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Also ich habe einfach folgendes in die functions.php meines Themes eigefügt:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Das sieht dann zwar nicht schön aus, weil die Bilder-URL am Anfang des Artikels ausgegeben wird, aber es geht ja nur darum zu sehen, ob es funktioniert.

    Gruß
    Ingo
     
  6. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Und wie bekommt man die URL dann in ein oder zwei Felder?
     
  7. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Zum Bleistift so:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Gruß
    Ingo
     
  8. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
  9. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
  10. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Danke, im Prinzip klappt es prima. Allerdings taucht folgendes Problem auf.

    Übernommen wird natürlich die URL aus dem Text:
    /wp-content/uploads/2009/10/vw-060723-0698-150x150.jpg

    Und nicht die "originale" URL:
    /wp-content/uploads/2009/10/vw-060723-0698.jpg

    Ist natürlich doof, weil so die Thumbnails durch das benutzerdefinierte Feld vom "Mediathek-Thumbnail" des Artikels und nicht von der Ursprungsdatei erzeugt werden :(

    Jemand eine Idee?
     
  11. jottlieb

    jottlieb Well-Known Member
    Ehrenmitglied

    Registriert seit:
    20. August 2005
    Beiträge:
    17.381
    Zustimmungen:
    1
    Nein, es müsste das erste Bild sein. Aber bin mir nicht sicher.
     
  12. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Ja, gabs mir nochmal angesehen, ist sowieso irgendwie ungeeignet, da ich mein ganzen Theme umbauen müsste, da das momentan noch voll auf den Custom Fields aufbaut!
     
  13. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Mußte halt das preg_match() anpassen. Könnte so aussehen:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!

    Gruß
    Ingo
     
  14. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Mh, irgendwie sagt mir dieser Codeschnipsel gar nichts. Könntest du die Sache vllt näher erläutern?
     
  15. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    Ich war bei meinem Beispiel davon ausgegangen, wie ich es bei mir handhabe. Da verweist das im Artikel gezeigte Thumbnail direkt auf die originale Bilddatei. Dafür funktionioniert mein Code.

    Ansonsten müßte man mit der erhaltenen URL in den Tabelle 'wp_postmeta' suchen und sich die Adresse des Originalbildes besorgen. Das wird etwas komplizierter.

    Gruß
    Ingo
     
  16. Arthur Spooner

    Arthur Spooner Well-Known Member

    Registriert seit:
    27. September 2009
    Beiträge:
    61
    Zustimmungen:
    0
    Ah, das ist genau die Erklärung, die ich erhofft habe. Danke dir recht herzlich, es funzt nun prima!
     
  17. fuhrmara

    fuhrmara Well-Known Member

    Registriert seit:
    15. Januar 2009
    Beiträge:
    275
    Zustimmungen:
    0
    Da habe ich ja eine mächtige Diskusion ausgelöst.
    Und alles nur wegen einem kleinem Tipfehler, den ich im nachfolgenden Code hatte :) (pfeif)

    Die beiden Codezeilen werkeln soweit ganz gut.
    Ziel war es ja externe Bilder, die durch das einbinden von Feeds geladen
    werden, auch in der entsprechenden Thumbnailgröße darzustellen.

    Habe das ganze noch ein wenig dahingehend verfeinert, das er erkennen soll,
    ob es nun ein externes oder internes image ist

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden