anpera.net
http://anpera.homeip.net/phpbb3/

Hex-Farben Unterstützung
http://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=5551
Seite 1 von 1

Autor:  Bathory [ Mo 25 Aug, 2014 00:57 ]
Betreff des Beitrags:  Hex-Farben Unterstützung

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:
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:
Code:
function appoencode($data,...)
{
     ...
     $data = parseHex($data);
     ...
     ab hier das klassische Farbsystem
}


Die Funktion:
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!

Autor:  Bathory [ Mi 27 Aug, 2014 15:42 ]
Betreff des Beitrags:  Re: Hex-Farben Unterstützung

Und hatte ich schon ganz vergessen eine funktion um die hexcodes rauszufiltern, wenn man zB Farbe rausfiltern will (Namenscheck usw)

Code:
function stripHex($str_input) {
      return preg_replace('/(²#[abcdef0-9]{6};|²#[abcdef0-9]{3};)/i','',$str_input);
}

Autor:  Bathory [ Mi 27 Aug, 2014 16:36 ]
Betreff des Beitrags:  Re: Hex-Farben Unterstützung

Hinweis:

wenn man es in der appoencode verwendet und dan <span... rauskommt folgendes direkt am Anfang der appoencode einfügen:

Code:
if(strpos($data,'²')!==false){ $priv=true; }

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/