Ankündigung

Einklappen
Keine Ankündigung bisher.

Highlight im BBCodefunktion einbinden

Einklappen

Neue Werbung 2019

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

  • Highlight im BBCodefunktion einbinden

    Hi,

    ich würde gerne die Highloghtfunktion in meine BbCodefunktion gerne einbinden. Nur wieß ich nicht wie. Wie kann ich es am besten machen?

    PHP-Code:
    <?php
    $bbcode
    =preg_replace("/\[php\](.*?)\[\/php\]/si","\\1"$bbcode);
    ?>
    Aber ich möchte sie so einbinden, dass nicht der ganze Code gehighlightet wird sondern nur wirklich das in den [ php] steht.

    Danke

    hier der rest meiner Funktion:

    PHP-Code:
    function bbcode ($bbcode)
    {

    $bbcode addslashes(htmlspecialchars(stripslashes ($bbcode)));

    $bbcode=preg_replace("/\[b\](.*?)\[\/b\]/si""[b]\\1[/b]"$bbcode);
    $bbcode=preg_replace("/\[php\](.*?)\[\/php\]/si","\\1"$bbcode);
    $bbcode=preg_replace("/\[i\](.*?)\[\/i\]/si""[i]\\1[/i]"$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>[b]Code:[/b]

    <div style=\"text-align:left;border:1px solid black;font-size:11px;color:green;background-color:#ececec;width:500px;padding:5px;\">[i]\\1[/i]</div></center>
    "
    $bbcode);
    $bbcode=preg_replace("/\[img\](.*?)\[\/img\]/si""<img src=\\1 border=\"0\">"$bbcode);

    $bbcode nl2br ($bbcode);

    return 
    $bbcode;



  • #2
    Tutorial für die Verwendung der php-Tags hier im Forum:

    PHP-Code:
    <?php
    // hier den PHP-Code reinsetzen
    ?>

    Kommentar


    • #3
      @malte

      Ist eigentlich in deinem Profil BBCode aktiv ?

      Kommentar


      • #4
        Ja eigentlich schon, bin in der Schule, da klappt es irgendwie nie.
        Könnt ihr mir jetzt zu meinem Problem helfen?
        Danke

        Kommentar


        • #5
          bin in der Schule
          Na toll, viel Zeit ?

          Beim Profil mal gucken ob »BBCode immer aktivieren:« eingeschaltet ist.
          Das meinte ich ...

          Kommentar


          • #6
            Ja ist es, es klingelt gleich.
            Kannst du mir jetzt helfen habe noch 3 Minuten

            Kommentar


            • #7
              Könnt ihr mir jetzt helfen?
              Ich kann sonst nicht weiter programmieren!
              Danke

              Kommentar


              • #8
                Ich würd ja gerne, aber da bin ich überfragt. Reguläre Ausdrücke sind nicht meine Stärke.

                Kommentar


                • #9
                  Zum rumbasteln:

                  http://www.cix88.de/cix_php/php_rege...bbcode_php.php

                  Kommentar


                  • #10
                    Das hilf mir nicht.
                    Er würde wieder den ganzen Text interpretieren.
                    Und das will ich nicht.
                    Er soll es nur machen, wenn es wirklich den [ php] Tag enthält.
                    Und auch nur den Text der dann dazwischen steht.

                    Kommentar


                    • #11
                      Zitat von malte
                      Das hilf mir nicht.
                      Hast du es getestet?

                      Ansonsten probier das hier:
                      PHP-Code:
                          $regex '/\[php\](.*)\[\/php\]/siU';
                          
                      $text preg_replace($regexhighlight('$1'), $text); 

                      Kommentar


                      • #12
                        Also ich habe es jetzt so gemacht:

                        PHP-Code:
                         $regex '/\[php\](.*)\[\/php\]/siU';  
                        $text preg_replace($regexhighlight('$1'), $text); 
                        Aber es klappt nicht ich bekomme immer Fehlermeldung 1 sei nicht bekannt

                        Kommentar


                        • #13
                          kann ich es so machen:

                          PHP-Code:
                           function php ($php

                          while ((
                          strpos($php,"[pgp]")!=false) && (strpos($php,"[/pgp]")!=false))  
                              {  
                                  
                          $startpos=strpos($php,"[pgp]")+5;  
                                  
                          $endpos=strpos($php,"[/pgp]",$startpos);  
                                  
                          $phpcode=substr($php,$startpos,$endpos-$startpos);  
                                  
                          $codestring='[pgp]'.$phpcode.'[/pgp]';  
                                  
                          $formattedcode=highlight_string($phpcode,true);  
                                  
                          $php=str_replace($codestring,$urlstring,$php);  
                              }  

                          return 
                          $php

                          Kommentar


                          • #14
                            testen.. dan wirst du schon merken ob du es so machen kannst
                            Wie man Fragen richtig stellt

                            Kommentar


                            • #15
                              Habe mir den Thread nicht durchgelesen, aber bei deinem Code ist mir die Anmerkung aus dem Manual eingefallen:
                              http://de.php.net/strpos
                              (wie gesagt, siehe Anmerkung)

                              Kommentar

                              Lädt...
                              X