Ich hab mal eine kleine Funktion geschrieben mit der man das Farbsystem um Hex-Farben erweitern kann. Wenn man diese Funktion in der appoencode() verwendet wird es automatisch überall freigeschaltet.
Auch wenn diese Funktion an das Atrahor-Farbsystem angelehnt ist, ist sie gerade eben neu geschrieben worden. Dies ist nicht die Version die wir auf Atrahor verwenden, sondern eine die mit jeder Lotgd Version ohne Anpassung funktioniert.
Testfall: $this->bbcode_second_pass_code('', ' $text = '`1aaaaaaa²#ccc;GRAU mit 3 Zeichen HEX`2bbbbbbbb²#ff0000;ROT mit 6 Zeichen HEX`3ccccccc';
output(parseHex($text)); ')
am besten in der appoencode: $this->bbcode_second_pass_code('', ' function appoencode($data,...) { ... $data = parseHex($data); ... ab hier das klassische Farbsystem } ')
Die Funktion: $this->bbcode_second_pass_code('', ' $hexopen = false;
function parseHex($txt){ global $hexopen; return preg_replace_callback('/\`(.{1})|²#([a-fA-F0-9]{6});|²#([a-fA-F0-9]{3});/sU', function ($t) { global $hexopen; $r = ''; if($hexopen){ $hexopen = false; $r .= '</span>'; } $h = !empty($t[2]) ? $t[2] : (!empty($t[3]) ? $t[3] : null); if($h !== null){ $hexopen = true; $r .= '<span style="color:#'.$h.';">'; }else{ $r .= $t[0]; } return $r; },$txt).($hexopen?'</span>':''); } ')
Viel Spaß damit!
p.s. man kann natürlich auch die ² aus der RegExp entfernen dann funktioniert es auch ohne, aber macht jede Form von HTML mit inline Farbstyle kaputt!
|