Mal wieder ein regulärer Ausdruck

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mal wieder ein regulärer Ausdruck

    Hallo,

    Hab mal wieder ein kleines Problem mit einem regulären Ausdruck. Ich möchte gerne URL's die folgendermaßen aussehen unterteilen:

    Code:
    [ur l=http://www.google.de/index.htm]GOOGLE[/url]
    Ich benutze "preg_replace ( mixed Suchmuster, mixed Ersatz, mixed Zeichenkette [, int Limit [, int &Anzahl]] )" um bestimmte Suchmuster zu ersetzen. Das Suchmuster sieht so aus:

    Code:
    /\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU[/url]


    Nun will ich aber URL's die eine bestimmte Adresse enthalten seperat ersetzen. Da heißt z.B. alle Zeichenketten die den string http://www.php-resource.de enthalten. Beispielsweise

    Code:
    [ur l=http://www.php-resource.de/index.htm]php-resource
    Wie muss das oben angegebene Suchmuster nun aussehen um dieses Ziel zu erreichen?

    Danke
    Zuletzt geändert von StarShaper; 25.03.2006, 14:01.

  • #2
    Heißt das, du willst URLs aus dem Text erkennen und als Links umwandeln?
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Hi, Ich würd's in ein array schreiben und die PHP-Resource Umwandlungen vor die generelle Umwandlung platzieren. RegEx ist dabei doch recht simpel:

      Code:
      /\[url=(['\"]?)http:\/\/www\.php-resource\.de([^\"']*)\\1](.*)\[\/url\]/isU

      Kommentar


      • #4
        @Shurakai:

        Nee, er will URLs mit bestimmten adressen speziell verlinken

        Kommentar


        • #5
          Original geschrieben von Luke
          Hi, Ich würd's in ein array schreiben und die PHP-Resource Umwandlungen vor die generelle Umwandlung platzieren. RegEx ist dabei doch recht simpel:

          Code:
          /\[url=(['\"]?)http:\/\/www\.php-resource\.de([^\"']*)\\1](.*)\[\/url\]/isU
          Vielen Dank Luke! Ehrlich gesagt habe ich mich mit RegEx bisher so gut wie überhaupt nicht befasst. Mit den Zeichen im Suchmuster kann ich derzeit recht wenig anfangen. Wahrscheinlich werde ich mir nun doch das Buch "Reguläre Ausdrücke" des O'Reilly Verlags demnächst kaufen. Obwohl mir dank deines Beispiels nun einiges klarer ist. Speziell wozu diese Backslashes dienen .

          Kommentar


          • #6
            Ich möchte gerne URL's die folgendermaßen aussehen unterteilen:
            Ich habe nicht ganz begriffen, was Du in dieser Frage tun möchtest. Ich spekuliere mal ansatzweise:
            aus http://www.google.ch/index.html möchtest du <a href=http://w ww.google.ch/index.html>GOOGLE </a> machen. Ist es das oder was anderes? Oder möchtest Du wirklich Strukturen der form http://www.x.tld/index.html x erkennen und durch was? ersetzen

            Kommentar

            Lädt...
            X