/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Automatisk linkcheck
Fra : Henrik Pedersen


Dato : 30-12-01 02:08

Hey NG!

Jeg har set på flere sider - hvor man f.eks. adder et tag på en tagwall ell.
lign., at indgår der en URL, så omskriver sitet det automatisk om til et
link (så man kan trykke på det).

Er der nogen der har en idé til hordan man laver noget sådanne, eller nogen
der har et link til et site der beskriver, hvordan man kan lave det?? Jeg er
fuldstændig på bar bund.

Takker for hjælpen på forhånd!!!

*/Henrik Pedersen



 
 
Thor Dreier (30-12-2001)
Kommentar
Fra : Thor Dreier


Dato : 30-12-01 02:34

"Henrik Pedersen" <hp@beone.dk> wrote in message
news:3c2e6909$0$94851$edfadb0f@dspool01.news.tele.dk...
> Jeg har set på flere sider - hvor man f.eks. adder et tag på en tagwall
ell.
> lign., at indgår der en URL, så omskriver sitet det automatisk om til et
> link (så man kan trykke på det).
> Er der nogen der har en idé til hordan man laver noget sådanne, eller
nogen
> der har et link til et site der beskriver, hvordan man kan lave det?? Jeg
er
> fuldstændig på bar bund.

Jeg bruger selv noget i retningen af følgende:

$tekst = "Tekst hvori der indgår links som fx. www.a.b og http://a.b "

$tekst =
eregi_replace("(^|[[:space:]])((ftp://|http://|https://)([a-zA-Z0-9@:%_.~#-\
?&]+[a-zA-Z0-9@%_~#&/]))", "\\1<A HREF=\"\\2\" TARGET=\"_blank\">\\2</A>",
$tekst);
$tekst =
eregi_replace("(^|[[:space:]])((www.)([a-zA-Z0-9@:%_.~#-\?&]+[a-zA-Z0-9@%_~#
&/]))", "\\1<A HREF=\"http://\\2\" TARGET=\"_blank\">\\2</A>", $tekst);
$tekst =
eregi_replace("(^|[[:space:]])([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,
3})","\\1<A HREF=\"mailto:\\2\">\\2</A>", $tekst);

echo $tekst;


--
http://dreier.info/
Med denne udtalelse repræsenterer jeg på ingen måde mig selv,
og kan derfor under ingen omstændigheder holdes ansvarlig for
skader forårsaget af, eller som følge af denne udtalelse.



Morten Bakkedal (02-01-2002)
Kommentar
Fra : Morten Bakkedal


Dato : 02-01-02 14:02

Henrik Pedersen wrote:

> Jeg har set på flere sider - hvor man f.eks. adder et tag på en tagwall
> ell. lign., at indgår der en URL, så omskriver sitet det automatisk om
> til et link (så man kan trykke på det).
>
> Er der nogen der har en idé til hordan man laver noget sådanne, eller
> nogen der har et link til et site der beskriver, hvordan man kan lave
> det?? Jeg er fuldstændig på bar bund.

Jeg har også selv kigget lidt på dette. Du kan se resultatet på
http://bakkeland.dk/php/parser.phps.

Det er lavet til et konkret projekt, hvorfor der er bygget lidt ekstra
funktionalitet ind i det. Et par bemærkninger:

* Jeg benytter ikke regular expression, som synes uegnede til sådanne
komplicerede erstatninger. Man kunne forestille sig, at min PHP-kode er
langsommere end en tilsvarende behandling med ereg_replace.
* Som koden er nu, bliver HTML-koder kontrolleret i forhold til en liste
over godkendte koder. Alt andet kodes med htmlspecialchars. Hvis man vil
køre sin tekst igennem htmlspecialchars-filtret og samtidig lade visse koder
(samt URL'er) slippe igennem uden at blive kodet, er det nødvendigt at
flette disse to funktioner ind i hinanden.
* Der kontrolleres om en URL allerede er omsluttet af et <a
href="...">/</a>-sæt, eller om den eventuelt findes som en del af en <img
src="...">-henvisning.
* Teksten bliver ombrudt efter en fast liniebredde, hvor der tages højde for
at modregne for HTML-koder, der er blevet godkendt. (Denne tekstombrydning
kan dog let slås fra.)

Håber det kan bruges.

Morten Bakkedal
http://bakkeland.dk/



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste