RegEx - Finde URL im String

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • RegEx - Finde URL im String

    Ahoii Leute!

    Habe hier eine kleine URL-Filter-Funktion die auch super läuft, jedoch wollte ich die ein wenig aufbohren...

    Code:
    function replace_url($str) {
      $patterna = '#(^|[^\"=]{1})([url]http://[/url]|[url]ftp://[/url]|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
       return preg_replace($patterna,"\\1<a href=\"\\2\\3\" target=\"_blank\"><u>\\2\\3</u></a>\\4",$str);
    }
    Ich will nun zusätzlich nach einer frei definierten $konstante suchen, von des es ab hängig ist ob ein Link _blank oder _top öffnet.

    Das "ein Link" ist desshalb so hervorgehoben, weil ich es bislang nur geschafft habe alle Links zu ändern.
    Last edited by nichtsooft; 12-01-2008, 19:35.
    WHILE (!$asleep) { $sheep++; }

  • #2
    Selbst schon Ansätze aufgetan?
    ICH BIN ICH!!!

    Comment


    • #3
      Ja klar! Selbstverfreilich!

      Hab rumexperimentiert und ein if (preg_macht($konstante, $needle) eingebaut, was dann nicht so das gelbe vom Ei war, denn wenn die Konstante vorhanden war hat er mir selbstverst. alle Links auf den selben Target gesetzt.
      Also hatte ich dann nen anderen Ansatz, wobei ich einfach in die RegEx meine $konstante reingestrickt hab. Leider wurden auch hier alle Links auf den selben Target gepointet.

      Grausam aber wahr
      WHILE (!$asleep) { $sheep++; }

      Comment

      Working...
      X