tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1326
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Miraculixx Miraculixx ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    150
    Hallo!

    Ich habe mir aus einem Tutorial aus diesem Forum folgende Regex-Funktion gesucht:
    PHP-Code:
    $text preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/''<a href="http://$1" target="_blank">$2</a>'$text); 
    Diese soll mir einen String mit einem URL-Tag in html-code umwandeln, zB:
    [u.rl=www.google.at]Google[/u.rl] --> <a href="http://www.google.at" target="_blank">Google</a>
    (Ohne den Punkten bei u.rl)

    Ich habe nun selbständig versucht, mir das Gegenstück zusammen zu basteln. Also eine Funktion, die mir aus dem html-Code wieder meinen String mit URL-Tags liefert. Dabei ist bei mir folgendes herausgekommen:

    PHP-Code:
    $text preg_replace('<a href="http://([^ ]+).*" target="_blank">(.*)</a>''[url=$1]$2[/url]'$text); 
    Wenn ich das ausführen möchte, erscheint jedoch folgender Fehler:
    Warning: preg_replace() [function.preg-replace]: Unknown modifier '(' in admin.php on line 168
    Ich hab mich nun schon durch eine Vielzahl von Regex-Tutorien durchgearbeitet, aber ich weiß trotzdem nicht, was ich mit dieser Fehlermeldung anfangen soll.
    Hoffentlich kann mir hier jemand weiterhelfen - vielen Dank schon mal im Voraus!

    PS: habe mir jetzt noch das Programm "RegexBuddy" heruntergeladen und darin die Funktion getestet. Da läuft sie problemlos.... Ich weiß da echt nicht mehr weiter
     

  2. #2
    ne0hype ne0hype ist offline Mitglied Brokat
    Registriert seit
    Mar 2007
    Beiträge
    274
    Hi,

    wie PHP dir schon sagt hast du ein Problem bei
    PHP-Code:
    preg_replace--->(' <--- 
    , daß liegt daran das du kein Delimiter angegeben hast.

    versuch mal das hier:

    PHP-Code:
    $text preg_replace('#<a href="http://([^ ]+).*" target="_blank">(.*)</a>#''[url=$1]$2[/url]'$text); 
    Im Beispiel von dieser Seite ist der Delimiter "/"

    gruß
    Geändert von ne0hype (21.09.07 um 17:35 Uhr)
     

  3. #3
    Miraculixx Miraculixx ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    150
    WOW, Danke, funktioniert einwandfrei!

    Aber kannst du mir noch erklären, wozu dieses Delimiterzeichen gut ist? Hab das in den Tutorials nirgends gefunden...
     

Ähnliche Themen

  1. hilfe bei preg_replace
    Von hups1803 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 18.08.10, 19:35
  2. Hilfe bei preg_replace und match
    Von maarian im Forum PHP
    Antworten: 4
    Letzter Beitrag: 21.09.09, 12:52
  3. Preg_replace REGEX alles ausser ...
    Von liquidbeats im Forum PHP
    Antworten: 2
    Letzter Beitrag: 05.05.06, 14:43
  4. Hilfe bei preg_replace Suchmuster
    Von pnx im Forum PHP
    Antworten: 2
    Letzter Beitrag: 22.12.05, 08:42
  5. RegEx (preg_replace) :)
    Von annih im Forum PHP
    Antworten: 3
    Letzter Beitrag: 07.06.04, 21:29