BBCODE [list] ersetzen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • BBCODE [list] ersetzen

    Ich schreiben gerade eine kleiner bbcode classe (und bin nicht gewilligt eine vorgefertigte zu nehmen). Ich habe ein Problem bei der Ersetzung von[list]. Irgendwie fällt mir nichts ein wie man das sinnvoll lösen könnte wenn man den standart benutzt.

    [ list=1 ]
    [ li ]text[ /li ]
    [ /list ]
    wäre einfach (list raussuchen - li ersetzen) allerdings entspricht es nicht dem standart
    ich würde das gerne nach den standart machen:
    [ list=1 ]
    [ * ] test
    [ /list ]
    hat jemand eine idee?
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

  • #2
    Ein </li> ist nach HTML Standard nicht nötig. (=> einfach so machen wie du es bereits gemacht hast, aber halt mit dem * ...)

    btw.: Standart ist die Kunst zu stehen!
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      btw.: Standart ist die Kunst zu stehen!
      danke für den tipp - war grad in eile und habs nicht so mit rechtschreibung
      gut dann werd ich das mal so umsetzen und den code posten fals das nochmal jemand interessiert
      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

      Kommentar


      • #4
        PHP-Code:
        // BBCode ( Listen ) ersetzen
                
        public function replace_bbcode_list $string ) {
                    if ( empty ( 
        $string ) ) {
                        return 
        false;
                    }
                    
        $string preg_replace '/\[\*\]([[:print:]\sßüöä]+?)(?=<br \/>)/i''<li>$1</li>'$string );
                    
        preg_match_all '/(\[list(\=1|\=a|)\]([[:print:]\sßüöä]+?)\[\/list(\=1|\=a|)\])/i'$string$matches );
                    foreach ( 
        $matches ] as $var ) {
                        
        $string str_replace $var$this -> remove_br $var ), $string );
                    }
                    return 
        $string;
                } 
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar

        Lädt...
        X