webForumDet fria alternativet

Generera länk av text? :s

PHP

5 svar · 439 visningar · startad av skellmob

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

Ehm, konstig rubrik för jag vet inte hur jag ska formulera mig, har också försökt söka men eftersom jag inte riktig vet hur jag ska förklara så skriver jag ett nytt inlägg för vad jag tror är världens enklaste grej..

Använder mig av Gruvsjös php gästbok, men när man skriver in en adress i meddelandefältet så blir det bara text, hur gör man för att det ska bli en länk av det hela?

Testade att skriva in vanlig html-kod ( <a href="adressen">testlänk</a> men då får jag upp nåt skumt felmeddelande bara..

Ni som använt er av gruvsjös gästbok eller liknande som vet hur jag löser detta vore skitbussig om jag fick hjälp att lösa detta.

Mvh
/skellmob

Medlem sedan mars 2004662 inlägg
#2

Har du php installerat?

Medlem sedan apr. 200534 inlägg
#3

Jadå hela gästboken fungerar ju som den ska, ville bara att eventuella länkar som skrivs i själva meddelandefältet ska bli till en länk

Medlem sedan juni 20006 031 inlägg
#4

Innan du printar ut textetn på hemsidan så kör du ett par preg_repl

<?php
// strängen med ev. länkar
$text = row['meddelande']; //ändra till vad fältet nu kan heta

$text = preg_replace( '/(?<!"|href=|href\s=\s|href=\s|href\s=)(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/i', "<a href=\"$0\" title=\"$0\" target=\"_blank\">$0</a>", $text );
$text = preg_replace('/(?<!"|href=|href\s=\s|href=\s|href\s=)(?<!:\/\/)www(.[\w]+)([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/i', "<a href=\"http://$0\" title=\"http://$0\" target=\"_blank\">$0</a>", $text );

echo $text;
?>
Medlem sedan juli 20033 147 inlägg
#5

Pedda skrev:

Innan du printar ut textetn på hemsidan så kör du ett par preg_repl

<?php
// strängen med ev. länkar
$text = row['meddelande']; //ändra till vad fältet nu kan heta

$text = preg_replace( '/(?<!"|href=|href\s=\s|href=\s|href\s=)(http|ftp|https):\/\/[\w]+(.[\w]+)([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/i', "<a href=\"$0\" title=\"$0\" target=\"_blank\">$0</a>", $text );
$text = preg_replace('/(?<!"|href=|href\s=\s|href=\s|href\s=)(?<!:\/\/)www(.[\w]+)([\w\-\.,@?^=%&:\/~\+#]*[\w\-\@?^=%&\/~\+#])?/i', "<a href=\"http://$0\" title=\"http://$0\" target=\"_blank\">$0</a>", $text );

echo $text;
?>

Om vi säger att länken är på 200 tecken, och sidan endast klarar av 100 tecken, hur gör man då?
Man kan väl inte göra en if-sats i preg_replace functionen som kollar om strlen > 100? Och isåfall skriva ut en \n?

Tack

Medlem sedan apr. 200534 inlägg
#6

Tackar så mycket!

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