HTML Highlight

Es wird öfters gefragt wie man HTML Highlighten kann… da PHP keine ordentliche lösung dafür anbietet habe ich mal ein kleines script gebastelt das vielleicht einigen usern helfen könnte. :slight_smile:
(Mit BB Code beispiel :wink: )
[php]<?php

function Highlight_HTML($code)
{
$color_1 = „#257835“;
$color_2 = „#105FCE“;

$code = str_replace(' ', '&nbsp;', $code);
$code = explode('"', $code);
$blue = 0;
$quot_blue = "";

foreach($code as $quot)
{
    if($blue == 0)
    {
        $quot_blue .= $quot;
        $blue++;
    }
    else
    {
        $quot_blue .= ':ANFANG:span style="color:'.$color_2.';":ENDE:"'.$quot.'":ANFANG:/span:ENDE:';
        $blue--;
    }
}

$code = $quot_blue;
$code = str_replace('>', '>:ANFANG:/span:ENDE:', $code);
$code = str_replace('<', ':ANFANG:span style="color:'.$color_1.';":ENDE:<', $code);
$code = str_replace(':ANFANG:', '<', $code);
$code = str_replace(':ENDE:', '>', $code);
$code = nl2br($code);

return '<code>'.$code.'</code>';

}

function bbcode($code)
{
$code = preg_replace(„#[html](.*?)[/html]#se“, „‚
<div align="left" style="width:96%; background-color:#EEEEEE; border:1px solid black; padding:5px;">HTML-Code
‘.Highlight_HTML(stripcslashes(‚$1‘)).‚
‘“, $code);
return $code;
}

$code = ‚[html]Google‘.„\n“.
‚.„\n“.

Hier steht ein text :wink:
‘.„\n“.

Hallo

‚.„\n“.
’ Whooooooooohoooooooooooooo‘.„\n“.
Dies ist ein test :wink:[/html]';

echo bbcode($code);

?>[/php]

Dies könnte man jetzt super in z.b. sein Forum oder in seine News (fals man sowas da benötigt ^^) einbauen. :slight_smile: :wink:

MFG Miah =)

Das gehört in den Tutorialbereich.

Das geht mit preg_replace_callback + highlight_string viel einfacher…