anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 23:54

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Hex-Farben Unterstützung
BeitragVerfasst: Mo 25 Aug, 2014 00:57 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 125
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!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Hex-Farben Unterstützung
BeitragVerfasst: Mi 27 Aug, 2014 15:42 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 125
Und hatte ich schon ganz vergessen eine funktion um die hexcodes rauszufiltern, wenn man zB Farbe rausfiltern will (Namenscheck usw)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Hex-Farben Unterstützung
BeitragVerfasst: Mi 27 Aug, 2014 16:36 
Offline
Profi
Profi

Registriert: Mo 20 Apr, 2009 00:30
Beiträge: 125
Hinweis:

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

$this->bbcode_second_pass_code('', '
if(strpos($data,'²')!==false){ $priv=true; }
')


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 33 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum