Ankündigung

Einklappen
Keine Ankündigung bisher.

htmlcode highlighten

Einklappen

Neue Werbung 2019

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

  • htmlcode highlighten

    wie der titel schon verät versuch ich html-code zu highlighten:
    tags : blau;
    "*"|'*' : rot;
    rest: schwarz;
    vllt noch so & orange aber nich so wichtig!
    also ich habs erst so versucht:
    PHP-Code:
    <?php
        $html 
    preg_replace('=<(.*?)>=is''<span style="color: blue;">'.htmlentities('<\1>').'</span>'$html);
        
    $html preg_replace('="(.*?)"=is''<span style="color: red;">'.htmlentities('"\1"').'</span>'$html);
    ?>
    eins davon funktioniert aber beide zusammen nicht, auch in vertauschter reihenfolge!
    dann hab ich mir gedacht...hmmm..alles in ein regex?versuch wert:
    PHP-Code:
    <?php
    $html 
    preg_replace('=<(.*?) (.*?)"(.*?)"><=is''<span style="color: blue;">'.htmlentities('<\1>').htmlentities('\2').htmlentities('"\3"').'</span>'$html);
    ?>
    das bringt aber auch nix!
    habt ihr ne idee, oder sogar schon selber mal gecodet?
    danke..

    eagleScripts.de

  • #2
    Uff..
    http://www.google.de/search?hl=de&q=html+highlighter

    Kommentar


    • #3
      gibts auch ne möglichkeit ohen alle attribute,tags,etc.aufzulisten???

      eagleScripts.de

      Kommentar


      • #4
        http://pear.php.net/package/Text_Highlighter

        Ein Highlighter für HTML und anderes.

        Kommentar


        • #5
          Der ist auch ganz nett:
          http://qbnz.com/highlighter/

          Kommentar


          • #6
            hab mir selber ein proggrammiert:
            PHP-Code:
            <style type="text/css">
            code {
                white-space: pre;
            }
            </style>
            <?php
                $code 
            = <<<HTML
                <html>
                    <head>
                        <title>Hallo</title>
                    </head>
                    <body>
                        
                        <p style="border: 1px dashed #000">Hallo Freunde!</p>
                    </body>
                </html>
            HTML;

                
            $code str_replace("'","{s-}",$code);
                
            $code str_replace('"','{s=}',$code);
                
            $code str_replace("<!--","{c-}",$code);
                
            $code str_replace("-->","{c=}",$code);
                
            $code str_replace("<","{t-}",$code);
                
            $code str_replace(">","{t=}",$code);

                
            $attribute = array('abbr''accept-charset''accept''accesskey''action''align''alink''alt''archive', ...);

                foreach(
            $attribute AS $attribut) {
                    
            $code preg_replace('/'.$attribut.'=/i','<span style="color: #090">'.$attribut.'=</span>',$code);
                }
                
            $code preg_replace('/{t-}(.*?){t=}/is','<span style="color: #00b;">&lt;\1&gt;</span>',$code);
                
            $code preg_replace('/{c-}(.*?){c=}/is','<span style="color: #f90;">&lt;!--\1--&gt;</span>',$code);
                
            $code preg_replace('/{s(-|=)}(.*?){s\1}/is','<span style="color: #b00;">"\2"</span>',$code);

                echo
            '<code>'.nl2br($code).'</code>';
            ?>
            nur will ich es schaffen das es so aussieht:
            <span style="color:blue">&lt;p</span> <span style="color:green">style=</span><span style="color:red">"border: 1px dashed #000"</span><span style="color:blue">&gt;</span>Hallo Freunde!</span style="color:blue">&lt;/p&gt;</span>

            d.h. keine verschachtelten <span>'s, jemand ne idee?

            eagleScripts.de

            Kommentar


            • #7
              Das Thread hat mich auch auf eine Idee gebracht:
              http://www.cix88.de/cix_php/tonne/hi...riend.de/forum (beta)

              Allerdings alles selber zurechtgefummelt.

              d.h. keine verschachtelten <span>'s, jemand ne idee?
              Wird sich sicher nicht ganz vermeiden lassen, umso mehr farbliche Darstellungen, umso mehr SPANs ...

              Kommentar


              • #8
                ich hab nochn problem: wenn ein tag mehrere attribute hat, wirds nich richtig angezeigt, kann ich des beheben? hab schon bissle rumprobiert aber nix gutes drausgeworden

                eagleScripts.de

                Kommentar


                • #9
                  wenn ein tag mehrere attribute hat, wirds nich richtig angezeigt,
                  Haste ein Beispiel ?

                  PS: Formatiere mal bitte dein Scriptbeispiel oben.
                  Die ganze Seite hier ist ja größer wie mein Monitotr

                  Kommentar


                  • #10
                    hab auch kein 2m bildschirm !
                    den html highlighter hamma fertig, die attribute sin jez einfach auch blau ^^
                    jetzt progg ich en css-highlighter, der is auch schon so gut wie fertig:
                    PHP-Code:
                    <?php
                        $code 
                    preg_replace('~/\*(.*?)\*/~is','<span class="comment">/*\1*/</span>',$code);
                        
                    preg_match_all("~([[:alnum:][:blank:][:punct:]#:,\*\+\[\]=]*){~isU"$code$matches);
                        foreach(
                    $matches[0] as $match) {
                            
                    $code preg_replace("~(".$match.")(.*?)}~is"'\1[def]\2[/def]}'$code);
                        }
                        
                    $code preg_replace("~([[:alnum:][:blank:]-]*?):([[:alnum:][:blank:][:punct:]\(\)%#-]*?);~is"'<span class="key">\1:</span><span class="value">\2</span><span class="key">;</span>'$code);
                        
                    $code str_replace("[def]"""$code);
                        
                    $code str_replace("[/def]"""$code);
                        echo 
                    '<code>'.$code.'</code>';
                    ?>
                    gut der funktionier sogar: http://nicky.eaglescripts.de/test/css_highlighter.php
                    nur gibt es in css auch kommentare die so aussehen:
                    // ich bin ein kommentar!
                    nur ich weis nicht wie ich solche umwandeln soll!
                    so: $code = preg_replace('~//(.*?)$~is','<span class="comment">//\1</span>',$code); hat es natürlich nicht funktioniert .
                    dann nochwas: wenn der css-code so aussieht:
                    * {
                    color: #00b;
                    }
                    also das "*" dann kommt ein fehler:
                    Warning: preg_replace() [function.preg-replace]: Compilation failed: nothing to repeat at offset 1 in /www/htdocs/esnicky/test/css_highlighter.php on line 43
                    aber zB a, * {... funktioniert!
                    ach ja noch ne frage: was fasst [unct:} und [:blank:] alles zusammen?

                    eagleScripts.de

                    Kommentar


                    • #11
                      Beim Suchen von * dann mit \* suchen

                      ach ja noch ne frage: was fasst [unct:} und [:blank:] alles zusammen?
                      http://www.cix88.de/cix_php/demo/cix_regexp_tester/

                      Vieleicht hilft es ...

                      Kommentar


                      • #12
                        joa danke schon ne hilfe, geht schneller als immer hochzuladen!
                        und haste auch ne antwort auf das einzeilige kommentat mit // ?

                        eagleScripts.de

                        Kommentar


                        • #13
                          und haste auch ne antwort auf das einzeilige kommentat mit // ?
                          -> (//.+)\s als Ausdruck

                          Kommentar


                          • #14
                            mhm... schöne sache das....
                            hat jetzt auch wer sowas für visual foxpro code?
                            dann könnt ich meine ganzen codeschnipsel da auch mal sammeln und nett dargestellt betrachten

                            Kommentar


                            • #15
                              visual foxpro code?
                              Kenne ich garnicht, hast du dazu ein Beispiel auf Lager ?
                              Ansonsten muss ich mal Googeln ...

                              Kommentar

                              Lädt...
                              X