webForumDet fria alternativet

Erätta länk med länktext...

PHP

6 svar · 425 visningar · startad av slow

Medlem sedan apr. 2004148 inlägg
Frågan#1

Detta är säkert en relativt enkelt grej men inte vet jag hur man gör det för de...

Har ett forum som jag gjort i PHP. Om något nu skriver in en länk i forumet så skulle jag att den ersatte länken med en text som innehåller länken...

Alltså om någon skriver in en länk på detta sätt,
http://www.webforum.nu/newthread.php?do=newthread&f=23

Så vill jag att det ska bli så här istället,
- Länk -

Eller något...finns det någon PHP funktion för att ersätta på det sättet?

MVH Patrik

Medlem sedan mars 2005149 inlägg
#2
[url = http://dinlank.se   ]lanktext[/url ]

ta bort mellanrum
annars finns det olika mods
vad for forum har du ?

Medlem sedan mars 20025 907 inlägg
#3
function strLinks($text) {
	
	$text = preg_replace('%(<a\s[^>]+>http://[^\s]+</a>)|(<[^>]+http://[^>]+>)|(http://)[^\s]+%ie',
		'"$0"=="$1" || "$0"=="$2" ? "$0" : "<a href=\"$0\" rel=\"external\" >- Länk -</a>"', $text);
	$text = preg_replace('%(<a\s[^>]+>http://|www.[^\s]+</a>)|(<[^>]+www.[^>]+>)|(www.)[^\s]+%ie',
                  '"$0"=="$1" || "$0"=="$2" ? "$0" : "<a href=\"http://$0\" rel=\"external\">- Länk -</a>"', $text);	
	return $text;
}
Medlem sedan apr. 2004148 inlägg
#4

Tack för hjälpen, dock får jag det inte att fungera tyvärr...

Jag har mitt inlägg i denna:
$row_amne['text_amne']

Så jag gjorde så här för att kunna använda din kod precis som den är så jag inte förstör något.. :)

Men det kanske inte går att göra så?

$text = $row_amne['text_amne'] ;

function strLinks($text) {
	
	$text = preg_replace('%(<a\s[^>]+>http://[^\s]+</a>)|(<[^>]+http://[^>]+>)|(http://)[^\s]+%ie',
		'"$0"=="$1" || "$0"=="$2" ? "$0" : "<a href=\"$0\" rel=\"external\" >- Länk -</a>"', $text);
	$text = preg_replace('%(<a\s[^>]+>http://|www.[^\s]+</a>)|(<[^>]+www.[^>]+>)|(www.)[^\s]+%ie',
                  '"$0"=="$1" || "$0"=="$2" ? "$0" : "<a href=\"http://$0\" rel=\"external\">- Länk -</a>"', $text);	
	return $text;
}
echo "$text";
Medlem sedan mars 20041 505 inlägg
#5

Hm...du anropar ju aldrig funktionen....eller?

echo strLinks($text);
Medlem sedan mars 20025 907 inlägg
#6

slow skrev:

Så jag gjorde så här för att kunna använda din kod precis som den är så jag inte förstör något.. :)

Men det kanske inte går att göra så?

Precis som Troxy skriver så anropar du aldrig funktionen, som du har skrivit nu är det bara en funktion som aldrgi anropas. Inte mycket till nytta med den :)

Medlem sedan apr. 2004148 inlägg
#7

hehe, bra tips.. ;)

Fungerar bra nu! :)

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)