webForumDet fria alternativet

Hitta URL:er och e-postadresser i en sträng

PHPur Script - PHP

0 svar · 1 504 visningar · startad av Mungo

Medlem sedan jan. 2000372 inlägg
Frågan#1
function strLinks($text) {
	$text = preg_replace('%(<a\s[^>]+>http://[^\s]+</a>)|(<[^>]+http://[^>]+>)|(http://)[^\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('%(<a\s[^>]+>http://|www.[^\s]+</a>)|(<[^>]+www.[^>]+>)|(www.)[^\s]+%ie',
                  '"$0"=="$1" || "$0"=="$2" ? "$0" : "<a target=\"_blank\" href=\"http://$0\">$0</a>"', $text);	
	return $text;
	}

Denna funktion hittar allt som börjar med "www." och "http://", eller som är en giltig e-postadress och länkar upp det. Den är dock smart nog att ignorera det som ligger inom HTML-taggar!

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