Bilder Codes ausfindig machen

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von oconner, 24.09.2006.

  1. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Registriert seit:
    11.01.2006
    Hallo.

    Ich möchte mittels php ein Bild verkleinern, wie das geht weis ich. Nur ist die Bildadresse in einem Text der aus der Datenbank kommt und dieser steht zwischen [ img] [ /img]. Na und jetzt möchte ich mittels einer string Funktion das zwischen dem [ img] [ /img] ausfindig machen.

    Nur weis ich in diesem Fall nicht mit welcher string Funktion das geht.

    Daher meine Frage ob mir jemand sagen kann wie ich den Inhalt zwischen [ img] und [ /img] ausfindig machen kann.

    Danke schonmal! :)
     
  2. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    Sowas ähnliches hab ich mal mit preg_match gemacht:

    PHP:
    preg_match("=\[img\].*?\[/img\]=siU"$str$matches);
    Hoffe, das stimmt so. Wobei $str der Text ist, aus dem die -Tags kommen und $matches das Array mit den gefundenen Stellen. siU sagte irgendwas von wegen case insensitive, mehrere Fundstellen finden und nochwas.

    Is schon lang her :)
     
    Zuletzt bearbeitet: 25.09.2006
  3. MacErik

    MacErik MacUser Mitglied

    Beiträge:
    632
    Zustimmungen:
    12
    Registriert seit:
    06.09.2002
    Also wenn die Tags immer gleich sind, dann würde ich es mit substr machen. preg_match klappt sicherlich auch, scheint mir aber etwas überdimensioniert.
    Also in der Art:
    PHP:
    $text "[url]Hier steht die Adresse[/url]";
    $newText substr($text,5,strlen($text) - 11);
    Erik

    P.S.: Hab gerade nochmal den ersten Post gelesen und hatte es wohl falsch verstanden. Wenn die Addresse irgendwo in einem beliebigen Text steht, dann ist preg_match natürlich die richtige Wahl.
    Sorry
     
  4. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Registriert seit:
    11.01.2006
    Hallo

    @Jakob Hab deines ausporbiert. Aber es kommt immer folgende Fehlermeldung

    kenn mich mit preg_match nicht so gut aus und weis daher nicht wie ich den Fehler behebe.

    //edit: line 15 ist natürlich die in der wo preg_match ist.
     
  5. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    Registriert seit:
    05.01.2004
    War ein „=“ zu viel. Hab's noch bisschen vereinfacht:

    PHP:
    preg_match('=\[img\](.*?)\[/img\]=si'$str$match);
    echo 
    $match[1]
    Findet allerdings jetzt immer nur das erste Vorkommen von einem [​IMG]-Paar. Für mehr musst Du mal die PHP-Hilfe (php.net/preg_match bzw. php.net/preg_match_all bemühen)
     
  6. hossa

    hossa MacUser Mitglied

    Beiträge:
    309
    Zustimmungen:
    0
    Registriert seit:
    03.04.2005
    hab sowas mal mit replace gebraucht, hier der Code, vielleicht hilft er dir:
    PHP:
    $deintext preg_replace("/\[fett\](.*?)\[\/fett\]/""<strong>\\1</strong>"$deintext);
    Der Ausdruck ersetzt alle Vorkommen von [fett]textteil[/fett] mit <strong>textteil</strong> im String $deintext; kann man natürlich auch mit "img" statt "fett" verwenden.
     
Die Seite wird geladen...

Diese Seite empfehlen