webForumDet fria alternativet

preg_replace

PHP

0 svar · 211 visningar · startad av nordan

Medlem sedan juni 2000949 inlägg
Frågan#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.

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)