php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.09.2005, 21:39  
Benutzer
 
Registriert seit: 10.09.2005
Beiträge: 67
N!cKY
N!cKY eine Nachricht über ICQ schicken
Standard 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..
N!cKY ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.09.2005, 21:42  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Uff..
http://www.google.de/search?hl=de&q=html+highlighter
Chr!s ist offline   Mit Zitat antworten
Alt 20.09.2005, 21:59  
Benutzer
 
Registriert seit: 10.09.2005
Beiträge: 67
N!cKY
N!cKY eine Nachricht über ICQ schicken
Standard

gibts auch ne möglichkeit ohen alle attribute,tags,etc.aufzulisten???
__________________

eagleScripts.de
N!cKY ist offline   Mit Zitat antworten
Alt 20.09.2005, 23:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

http://pear.php.net/package/Text_Highlighter

Ein Highlighter für HTML und anderes.
Guradia ist offline   Mit Zitat antworten
Alt 21.09.2005, 15:46  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Der ist auch ganz nett:
http://qbnz.com/highlighter/
Corvin ist offline   Mit Zitat antworten
Alt 22.09.2005, 21:03  
Benutzer
 
Registriert seit: 10.09.2005
Beiträge: 67
N!cKY
N!cKY eine Nachricht über ICQ schicken
Standard

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?
N!cKY ist offline   Mit Zitat antworten
Alt 22.09.2005, 22:56  
Gast
 
Beiträge: n/a
Standard

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.

Zitat:
d.h. keine verschachtelten <span>'s, jemand ne idee?
Wird sich sicher nicht ganz vermeiden lassen, umso mehr farbliche Darstellungen, umso mehr SPANs ...
  Mit Zitat antworten
Alt 23.09.2005, 21:10  
Benutzer
 
Registriert seit: 10.09.2005
Beiträge: 67
N!cKY
N!cKY eine Nachricht über ICQ schicken
Standard

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
N!cKY ist offline   Mit Zitat antworten
Alt 24.09.2005, 21:50  
Gast
 
Beiträge: n/a
Standard

Zitat:
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
  Mit Zitat antworten
Alt 24.09.2005, 22:14  
Benutzer
 
Registriert seit: 10.09.2005
Beiträge: 67
N!cKY
N!cKY eine Nachricht über ICQ schicken
Standard

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:
Zitat:
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?
N!cKY ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellenzeilen bei onmouseover highlighten Zergling-new Tutorials 14 23.04.2008 14:28
Textarea - htmlcode beim speichern Tigermoon PHP Tipps 2006 1 10.04.2006 12:38
[Erledigt] php code highlighten PHP-Fortgeschrittene 6 10.05.2005 18:36
htmlcode in datenbank speichern PHP Tipps 2005 38 09.04.2005 20:58
Wörter highlighten, wenn man sie aus der Datenbank ausliest Jojo1 PHP Tipps 2005 5 04.04.2005 20:15
Wörter in Wörter nicht highlighten PHP Tipps 2005 4 29.03.2005 13:59
highlighten im [code][/code] bereich PHP Tipps 2005 5 09.02.2005 17:59
inhalt in bbcode [code][/code] highlighten lassen, wie? PHP Tipps 2004 5 28.10.2004 21:53
[Erledigt] Code highlighten PHP Tipps 2004 5 29.09.2004 14:40
[REGEX] Suchergebnis highlighten PHP Tipps 2004 8 04.07.2004 19:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
highlighten php, highlighten, verschachtelte span, span coden für anfänger

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.