Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Textarea

Einklappen

Neue Werbung 2019

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

  • Problem mit Textarea

    Hi,

    ich habe bei meinem Forum ein kleines Problem. Wenn der User einen PHP Code postet, wird dieser Später wieder in einem Textarea ausgeben, dies kann man hier sehen:

    http://newwarrior.milten.lima-city.d...ad_id=1&site=1

    Was man aber leider auch sehen kann ist, das der Code nicht gehighlightet wird sondern, das dort einfach HTML Code drinne steht, leider weiß ich nicht warum.

    Hier meine BBCODE Funktion:

    Code:
    <?php
    function bbcode ($bbcode)
    {
    
    $bbcode=preg_replace("/\[b\](.*?)\[\/b\]/si", "\\1", $bbcode);
    $bbcode=preg_replace("/\[i\](.*?)\[\/i\]/si", "\\1", $bbcode);
    $bbcode=preg_replace("/\[s\](.*?)\[\/s\]/si", "<s>\\1</s>", $bbcode);
    $bbcode=preg_replace("/\[u\](.*?)\[\/u\]/si", "<u>\\1</u>", $bbcode);
    $bbcode=preg_replace("/\[center\](.*?)\[\/center\]/si", "<center>\\1</center>", $bbcode);
    $bbcode=preg_replace("/\[url\](.*?)\[\/url\]/si", "<a href=\\1>\\1</a>", $bbcode);
    $bbcode=preg_replace("/\[code\](.*?)\[\/code\]/si", "<center>Code:
    
    <div style=\"text-align:left;border:1px solid black;font-size:11px;color:green;background-color:#ececec;width:500px;padding:5px;\">\\1</div></center>
    ", $bbcode);
    $bbcode=preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\\1 border=\"0\">", $bbcode);
    
    $bbcode = nl2br ($bbcode);
    
    return $bbcode;
    }
    
    function php ($php)
    {
    
    $php=preg_replace("/\[php\](.*?)\[\/php\]/si", "<center><textarea style=backgroundcolor:#c0c0c0; rows=10 cols=85>
        
        
        
    
    
    PHP-Code:
    \\
    </textarea></center>", $php); while((strpos($php,'
    PHP-Code:
    ')!=false) && (strpos($php,' 
    ')!= false)) { $startpos=strpos($php,'
    PHP-Code:
    ')+5;     $endpos=strpos($php,' 
    ',$startpos); $phpcode=substr($php,$startpos,$endpos-$startpos); $codestring='
    PHP-Code:
    '.$phpcode.' 
    '; $formattedcode=str_replace(" ", "",highlight_string($phpcode,true)); $php=str_replace($codestring,$formattedcode,$php); } return $php; } ?>
    Beitrag geändert am 25.12.2005 06:34 von newwarrior


  • #2
    Der Inhalt eines textarea Elements wird nicht formatiert dargestellt.

    Kommentar


    • #3
      wie kann ich es dann am besten machen?

      Kommentar


      • #4
        kein <textarea> verwenden.

        Kommentar


        • #5
          So, wie du es vorher gehabt hast, in einem div-Container.

          Kommentar


          • #6
            ok habe es jetzt so gemacht, wie bekomme ich die angezeigten
            noch weg?

            http://newwarrior.milten.lima-city.d...=1&thread_id=1

            Kommentar


            • #7
              PHP-Code:
              <?php
              $php 
              str_replace("
              "
              "\n"$php);
              ?>

              Kommentar


              • #8
                habe es so gemacht:

                Code:
                <?php
                function bbcode ($bbcode)
                {
                
                $bbcode=preg_replace("/\[b\](.*?)\[\/b\]/si", "\\1", $bbcode);
                $bbcode=preg_replace("/\[i\](.*?)\[\/i\]/si", "\\1", $bbcode);
                $bbcode=preg_replace("/\[s\](.*?)\[\/s\]/si", "<s>\\1</s>", $bbcode);
                $bbcode=preg_replace("/\[u\](.*?)\[\/u\]/si", "<u>\\1</u>", $bbcode);
                $bbcode=preg_replace("/\[center\](.*?)\[\/center\]/si", "<center>\\1</center>", $bbcode);
                $bbcode=preg_replace("/\[url\](.*?)\[\/url\]/si", "<a href=\\1>\\1</a>", $bbcode);
                $bbcode=preg_replace("/\[code\](.*?)\[\/code\]/si", "<center>Code:
                
                <div style=\"text-align:left;border:1px solid black;font-size:11px;color:green;background-color:#ececec;width:500px;padding:5px;\">\\1</div></center>
                ", $bbcode);
                $bbcode=preg_replace("/\[img\](.*?)\[\/img\]/si", "<img src=\\1 border=\"0\">", $bbcode);
                
                $bbcode = nl2br ($bbcode);
                
                return $bbcode;
                }
                
                function php ($php)
                {
                
                $php=preg_replace("/\[php\](.*?)\[\/php\]/si", "<center><div style=\"text-align:left;border:1px solid black;font-size:12px;background-color:#ececec;width:600px;overflow:auto;padding:5px;\">
                    
                    
                    
                
                
                PHP-Code:
                \\
                </div></center>", $php); while((strpos($php,'
                PHP-Code:
                ')!=false) && (strpos($php,' 
                ')!= false)) { $startpos=strpos($php,'
                PHP-Code:
                ')+5;     $endpos=strpos($php,' 
                ',$startpos); $phpcode=substr($php,$startpos,$endpos-$startpos); $codestring='
                PHP-Code:
                '.$phpcode.' 
                '; $formattedcode=str_replace(" ", "",highlight_string($phpcode,true)); $php=str_replace($codestring,$formattedcode,$php); $php = str_replace(" ", "\n\n", $php); } return $php; } ?>
                Aber irgendwie klappt es noch nicht so ganz, wie genau muss ich es ändern

                Kommentar


                • #9
                  Zitat von malte
                  Aber irgendwie klappt es noch nicht so ganz, wie genau muss ich es ändern
                  Definiere "irgendwie klappt es noch nicht so ganz".

                  Kommentar


                  • #10
                    Und wie benutzt Du diesen Code?
                    Irgendwo steckt noch ein htmlentities oder htmlspecialchars.

                    Kommentar


                    • #11
                      ok habe es hinbekommen danke

                      Kommentar

                      Lädt...
                      X