URL-håndtering i PHP preg_replace
hej allejeg har et mindre hjemmelavet forum i php, hvor brugerne indtil nu har kunnet lave links ved at skrive fx [link http://www.google.dk]www.google.dk[/link] og et par andre syntax'er (se lidt længere nede for kildekode).
Nu vil jeg gerne lave det sådan så man både kan bruge [link] eller [url]-tagget samtidig med at der er en regex, der opsamler alle URL's, der IKKE er i et af disse tags.
håber jeg har forklaret spørgsmålet korrekt. Spørg endelig hvis I er i tvivl.
PHP Kildekode:
function func($input) {
$result = htmlspecialchars($input);
$result = preg_replace("/\[[Ll][Ii][Nn][Kk][\s=](.*?)\](.*?)\[\/[Ll][Ii][Nn][Kk]\]/", "<a href=\"\\1\" target=\"_new\">\\2</a>", $result);
$result = preg_replace("/\[[Ll][Ii][Nn][Kk]\](.*?)\[\/[Ll][Ii][Nn][Kk]\]/", "<a href=\"\\1\" target=\"_new\">\\1</a>", $result);
$result = preg_replace("/\[[Uu][Rr][Ll][\s=](.*?)\](.*?)\[\/[Uu][Rr][Ll]\]/", "<a href=\"\\1\" target=\"_new\">\\2</a>", $result);
$result = preg_replace("/\[[Uu][Rr][Ll]\](.*?)\[\/[Uu][Rr][Ll]\]/", "<a href=\"\\1\" target=\"_new\">\\1</a>", $result);
return nl2br($result);
}
mvh