webForumDet fria alternativet

str_replace

4 svar · 308 visningar · startad av Rickard

RickardMedlem sedan maj 2001287 inlägg
#1

Hallå...

Sitter å funderar på en grej med str_replace...

$inlagg = str_replace(":dunno", "<IMG SRC=\"images/emoticons/dunno.gif\">", $inlagg);

Den där kodnsutten använder jag för att sätta dit lite emoteicons i en gästbok...

Men frågan är nu bara, hur får jag en länk i ett inlägg att bli till en länk.
ex. Någon skriver http://www.hej.se eller bara https://www.hej.se

hur får jag gästboken att länka det hela å lägga en <a target="_new" href="<länk>">länk</a> ?

Tacksam för hjälp.

/Rickard

PeeerMedlem sedan mars 20025 907 inlägg
KenchuMedlem sedan apr. 2004113 inlägg
#3

Den där koden i länken funkar ju inte. :S Det som skrivs efter själva länken tas ju med det också.

$text = "omg omg omg [email]swekenchu@hotmail.com[/email] affeeeaaa dsada ";

blir:

omg omg omg <a href="mailto:swekenchu@hotmail.com affeeeaaa">swekenchu@hotmail.com affeeeaaa</a> dsada

Vet någon vart felet ligger? Verkar vara rätt nice, om det skulle funka. :)

PeeerMedlem sedan mars 20025 907 inlägg
#4

Forumet som buggar lite. Citerar du det inlägget (med citatknappen), så får du upp den korrekta koden. Kopiera den istället för det som du ser i tråden.

function strLinks($text) {
	$text = preg_replace('%(<a\s[^>]+>[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('%(<a\s[^>]+>[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;
	}

Korrekt kod ^^

KenchuMedlem sedan apr. 2004113 inlägg
#5

Yeah, nu funkar det. :)
Vore kul att fatta vad som händer i koden. Vad är alla dessa "|" överallt, och alla konstiga teckenuppsättningar som "%(<a\s[^>", och vad är det med variablerna $0 och $2 :S

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