Avatar billede kack Nybegynder
21. marts 2004 - 15:16 Der er 4 kommentarer og
1 løsning

Eget sprog??

Jeg ved man kan lave det i php, men hvordan ved jeg ikke.

Jeg kunne godt tænke mig at jeg kunne skrive f.eks fed i mit news system og det så blev rettet det bold.

Hvordan lan man lave det? Tror man skal bruge et eller andet replace, men jeg ved ikke hvordan man bruger det.
Avatar billede whatever Nybegynder
21. marts 2004 - 15:21 #1
Jeg brugte en gang dette til et forum:

function fncConvertCodes($foo)
{
    $foo = htmlentities($foo);
    $foo = preg_replace("/\[email](.*?)\[\/email\]/is", "<a href=\"mailto:\\1\" target=\"_blank\">\\1</a>",$foo);
    $foo = preg_replace("/\[email=(\S+?)\](.*?)\[\/email\]/is", "<a href=\"mailto:\\1\" target=\"_blank\">\\2</a>",$foo);
    $foo = preg_replace("/\[url](.*?)\[\/url\]/is", "<a href=\"\\1\" target=\"_blank\">\\1</a>",$foo);
    $foo = preg_replace("/\[url=(\S+?)\](.*?)\[\/url\]/is", "<a href=\"\\1\" target=\"_blank\">\\2</a>",$foo);
    $foo = preg_replace("/\[i\](.*?)\[\/i\]/is", "<i>\\1</i>",$foo);
    $foo = preg_replace("/\[b\](.*?)\[\/b\]/is", "<b>\\1</b>",$foo);
    $foo = preg_replace("/\[list\](\n)?/i","<ul>",$foo);
    $foo = preg_replace("/\[\/list\](\n)?/i","</ul>",$foo);
    $foo = preg_replace("/\[ul\](\n)?/i","<ul>",$foo);
    $foo = preg_replace("/\[\/ul\](\n)?/i","</ul>",$foo);
    $foo = preg_replace("/\[\*\](.*?)$/ism", "<li>\\1</li>",$foo);
    return nl2br($foo);
    return $foo;
}

Når du udskriver nyhedsteksten skriver du bare

echo fncConvertCodes($nyhedstekst);
Avatar billede whatever Nybegynder
21. marts 2004 - 15:29 #2
En lille forklaring på de forskellige koder:

E-mail link: navn@email.dk
E-mail link: [email=navn@email.dk]Klik her for at sende en mail[/email]
Link: [url]http://www.eksperten.dk[/url]
Link: Klik her for at besøge eksperten.dk
Kursiv: Tekst
Fed: Tekst
Liste:
 

       
  • Punkt 1
  •    
  • Punkt 2
  •    
  • Punkt 3
  •  
eller
  [ul]
   
  • Punkt 1
  •    
  • Punkt 2
  •    
  • Punkt 3
  •   [/ul]
    Avatar billede kack Nybegynder
    21. marts 2004 - 16:11 #3
    fatter det ikke helt.. Kan jeg så bare gøre sådan?

    Nyheds-tekst: jeg-er-god

    Kode: function fncConvertCodes($foo)
    {
        $foo = htmlentities($foo);

        $foo = preg_replace("/\[b\](.*?)\[\/b\]/is", "<b>\\1</b>",$foo);
       
     
        return nl2br($foo);
        return $foo;
    }

    Ogh så kommer det med fed?
    Avatar billede whatever Nybegynder
    21. marts 2004 - 16:26 #4
    Jo det kan du godt, hvis du kun ønsker at bruge fed.
    Avatar billede olebole Juniormester
    22. marts 2004 - 01:25 #5
    <ole>

    Der er en indbygget oversætter-funktion i PHP, der er langt hurtigere end mange preg-kald:

    $replArr = array(
        "<b>" => "",
        "</b>" => "
    ",
        "<i>" => "",
        "<i>" => "
    "
    );

    $streng = strtr( $streng, $replArr );

    /mvh
    </bole>
    Avatar billede Ny bruger Nybegynder

    Din løsning...

    Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

    Loading billede Opret Preview
    Kategori
    Vi tilbyder markedets bedste kurser inden for webudvikling

    Log ind eller opret profil

    Hov!

    For at kunne deltage på Computerworld Eksperten skal du være logget ind.

    Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

    Du kan også logge ind via nedenstående tjenester