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/