preg_replace

  • Hi,
    ich wollte mit ne BBCode funktion schreiben die den gewünschten Text auch gleich in HTML umschreibt nur will das ganze net so funktionieren :S.

    PHP
    function bbcode($ergebnis) {
      $ergebnis = str_replace("<","&lt;",$ergebnis);
      $ergebnis = str_replace(">","&gt;",$ergebnis);
      $ergebnis = preg_replace("[b]","<b>",$ergebnis);
      $ergebnis = preg_replace("[/b]","</b>",$ergebnis);
      $ergebnis = preg_replace("[code]","<div id='Div1'>",$ergebnis);
      $ergebnis = preg_replace("

    ","</div>",$ergebnis);
    $ergebnis = htmlentities($ergebnis);
    return $ergebnis;
    }[/code]
    weiß einer warum ?

  • Weil Zeichen wiez.B. <, >, [ und ] Steuerzeichen für preg_replace sind.
    EInfaches Ersetzen von Texten machst du besser mit str_replace, wobei du da weniger Möglichkeiten hast als mit preg_replace, gerade im Bezug auf Umwandlung von BBCode in HTML-Tags. Aber das wirst du schon merken wenn du Dinge einbauen möchtest wie [size=12] oder ähnliches ;)

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • ah ok dankö


    edit wenn ich überall str replace nutze bringt er trozdem fehler beim speichern aber wenn ich im text [code] weglasse gehts ...

    Einmal editiert, zuletzt von pillepalle ()

  • Und woher soll ich jetzt erraten woran es liegt wenn du nichtmal sagst was für Fehler auftreten? 8|

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • mehr weiß ich über den fehler leider auch nicht :S

  • ich weiß nur das es an der funktion liegt die den text umwandelt(bbcode)