Regex problem
Jeg har et lille problem med et regex i PHP. Jeg bruger følgende regex([^"=]|^)(((http|ftp|https):\/\/(www\.)*?)[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#]))
til at fange url'er i en ganske alm. tekst. Det ser også ud til at virke når jeg tester det i RegexBuddy, men bare ikke når jeg prøvet at bruge det i PHP.
Jeg bruger det i preg_replace_callback funktionen med en tekst der indeholder følgende link http://www.testside.dk/news.php?open_id=94&show_comments=94
Det sjove er så, at den kun fanger denne del http://www.testside.dk/news.php?open_id=94& altså udelader den den sidste get-var, selvom &-tegnet kommer med....
Er der nogen der lige kan se hvad dælen er do wrong :)
Helt præcist ser koden sådan ud:
$formatted_text = preg_replace_callback('/([^"=]|^)(((http|ftp|https):\/\/(www\.)*?)[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#]))/i', array($this, 'formatInlineLinks'), $formatted_text);
