Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] BBCodes funktionieren zwar, sind aber falsch?

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

  • [Erledigt] BBCodes funktionieren zwar, sind aber falsch?

    Hallo

    Noch ein Problem:
    PHP-Code:
    $text preg_replace('#\[b](.*)\[/b]#si','<b>$1</b>'$text); 
    Müsste doch funktionieren...

    Schreibe ich
    Code:
    FETTNICHT FETTFETT
    in die Textzeile kommt das dabei raus:
    Fett[/b]NICHT FETT[b]FETT (NICHT AUF DEN CODE ACHTEN, NUR AUF DAS, WIE ES AUSSIEHT!!!)

    Ich versteh auch warum.
    Er glaubt er muss nur das erste [b] und das letzte [/b] ersetzen.

    Kann mir jemand nen Code geben der auch funktionieren würde ? Bzw. sagen woran der fehler ist.

    L.G. DJ Rhoxxz

    [MOD] Tags geändert
    webmasterlounge
    Die deutsche Webmaster-Community


  • #2
    Code:
    $text = preg_replace('#\(.*)\#si','<b>$1</b>', $text);
    Wenn Du mit den richtigen Tags posten würdest, sähe man auch einen Zusammenhang.
    PHP-Code:
    $text preg_replace('#\[b](.*)\[/b]#si','<b>$1</b>'$text); 
    Dein Stichwort lautet: ungreedy.
    .
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Zitat von DJ_RhoxxZ Beitrag anzeigen
      Kann mir jemand nen Code geben der auch funktionieren würde ?
      Wenn es wirklich „funktionieren“ soll, sind reguläre Ausdrücke nicht das richtige Werkzeug. Dass bspw. Verschachtelungsregeln eingehalten werden, bekommst du damit so gut wie gar nicht hin (wenn, dann nur mit immensem Aufwand).

      Eine vernünftige Lösung für sowas erfordert einen kompletten Parser.

      Hier gibt's eine sehr gute und ziemlich frei konfigurierbare Lösung für solche Zwecke:
      BBCode-Parserklasse für PHP

      Kommentar


      • #4
        Danke werde es mir ansehen, hab jedoch auch schon ne andere lösung.
        webmasterlounge
        Die deutsche Webmaster-Community

        Kommentar

        Lädt...
        X