preg_replace

PHP

0 svar · 215 visningar · startad av nordan

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

295 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
164 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)