webForumDet fria alternativet

preg_replace

0 svar · 211 visningar · startad av nordan

nordanMedlem sedan juni 2000949 inlägg
#1

Jag har lånat denna kod som man hittar här
http://www.webforum.nu/showthread.php?s=&threadid=63579

exempel text:
$text = "Länk till Metallica [url]www.metallica.com[/url] <br> En bra sida om Metallica ";
function strLinks($text) {
    $text = preg_replace('%(<as[^>]+>[url]http://[/url][^s]+</a> )|(<[^>]+[url]http://[/url][^>]+> )|([url]http://[/url])[^s]+%ie',
                  '"$0"=="$1" || "$0"=="$2" ? "$0" : "<a target=\"_blank\" href=\"$0\">$0</a>"', $text);
    $text = preg_replace("/([w.-_]+)(@)([w.-_]+)(.)([w.-_]+)/i", "<a href=\"mailto:$0\">$0</a>",$text);
    $text = preg_replace('%(<as[^>]+>[url]http://[/url]|[url]www.[/url][^s]+</a> )|(<[^>]+[url]www.[/url][^>]+> )|([url]www.[/url])[^s]+%ie',
                  '"$0"=="$1" || "$0"=="$2" ? "$0" : "<a target=\"_blank\" href=\"http://$0\">$0</a>"', $text);    
    return $text;
    }

Den funkar som jag vill förutom på en punkt och det är om jag skriver in en länk i en textarea och direkt efter gör en radbrytning då kommer radbrytning med i länken är det någon som kan hjälpa mig att fixa till så att den bryter där det blir ett mellanslag efter länken? Jag har försökt att tyda koden men har inte lycks så bra.

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)