d0ppler Skrevet 27. april 2007 Del Skrevet 27. april 2007 (endret) Har leita litt, men finner ingen helt tilfredstillende bb-parsere. Helt enkelt sagt er jeg ute etter et bibliotek/funksjon, som parser bb-kode og gjør om til HTML. Har skjønt at PEAR-pakka har noen fancy greier, men problemet er at jeg ikke får kjørt setupen på den siden jeg ikke har tilgang til slike ting på webhotellet mitt. jeg vil feks at dette : [quote=pedro]hei og hopp[/quote] skal bli til noe alla vi ser her: hei og hopp Av de funksjonsfilene jeg har funnet så langt, så takler de kun: [quote]hei og hopp[/quote] altså, quote's uten referanse til hvem som er sitert. Jeg er ikke stødig nok i regulære utrykk til å fikse dette i den funksjonen jeg har testa litt. Funksjonen jeg har tester litt på ser slik ut: function encode($str) { $str = strip_tags($str); $str = eregi_replace("\\[b]([^\\[]*)\\[/b\\]","<b>\\1</b>",$str); $str = eregi_replace("\\[i]([^\\[]*)\\[/i\\]","<i>\\1</i>",$str); $str = eregi_replace("\\[u]([^\\[]*)\\[/u\\]","<u>\\1</u>",$str); $str = eregi_replace("\\[center]([^\\[]*)\\[/center\\]","<center>\\1</center>",$str); $str = eregi_replace("\\[code]([^\\[]*)\\[/code\\]","<pre>\\1</pre>",$str); $str = eregi_replace("\\[url]http://([^\\[]*)\\[/url\\]","<a href=\"http://\\1\" target=\"_blank\">\\1</a>",$str); $str = eregi_replace("\\[url]([^\\[]*)\\[/url\\]","<a href=\"http://\\1\" target=\"_blank\">\\1</a>",$str); $str = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]","<font color=\"\\1\">\\2</font>",$str); $str = eregi_replace("\\[url=http://([^\\[]*)\\]([^\\[]*)\\[/url\\]","<a href=\"http://\\1\" target=\"_blank\">\\2</a>",$str); $str = eregi_replace("\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]","<a href=\"http://\\1\" target=\"_blank\">\\2</a>",$str); $str = eregi_replace("\\[email=([^\\[]*)\\]([^\\[]*)\\[/email\\]","<a href=\"mailto:\\1\">\\2</a>",$str); $str = eregi_replace("\\[img]([^\\[]*)\\[/img\\]","<img src=\"\\1\" border=0>",$str); $str = eregi_replace("quote\\]","quote]",$str); // make lower case $str = eregi_replace("\[quote\]\r\n", '<blockquote><smallfont>Quote:</smallfont><hr>', $str); $str = eregi_replace("\[quote\]", '<blockquote><smallfont>Quote:</smallfont><hr>', $str); $str = eregi_replace("\[/quote\]\r\n", '<hr></blockquote>', $str); $str = eregi_replace("\[/quote\]", '<hr></blockquote>', $str); return nl2br($str); } Noen som kan sette meg på riktig vei? hilsen en php-n00b Endret 27. april 2007 av dga01 Lenke til kommentar
Mats Danielsen Skrevet 28. april 2007 Del Skrevet 28. april 2007 Jeg har ingenting i eregi_replace() men i preg_replace() om det er greit? Isåfall er den: $string = preg_replace("(\[quote\=(.+?)\](.+?)\[/quote\])", '<blockquote><i>$1 skrev:</i><hr>$2<hr></blockquote>', $string); - Lykke til! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå