2010-12-21 11 views
2

Ich möchte mirc color codes in HTML über PHP konvertieren. Hier ist das Beispiel: http://searchirc.com/search.php?F=exact&T=chan&N=6246&I=anime-piratesParsing mIRC Farben in PHP

Dank

+0

Ich sehe nicht, was ich in Ihrem verknüpften Beispiel zu verstehen. Können Sie beschreiben, wie die Farbcodes funktionieren? –

+0

http://www.mirc.com/help/colors.html bitte sehen Sie es sich an. Grundsätzlich geben wir nach der "Strg + K" -Kombination eine Zahl für jede Farbe ein. Wenn wir ein Komma zwischen Zahlen verwenden, erhalten wir Hintergrund ... – wonnie

+0

Was möchten Sie analysieren? In welcher Form werden die Daten eingehen? Was ist die Eingangsquelle/Methode? Wie muss PHP eingerichtet werden? Verwenden Sie voreingestellte HTML-Klassen oder legen Sie nur die Hintergrundfarbe fest? – ssube

Antwort

5

Verwendung preg_replace_callback:

function mycallback($matches) { 
    $bindings = array(
     0=>'white', 
     1=>'black', 
     2=>'blue', 
     3=>'green', 
     4=>'red', 
     5=>'brown', 
     6=>'purple', 
    ); 

    $fg = isset($bindings[$matches[1]]) ? $bindings[$matches[1]] : 'transparent'; 
    $bg = isset($bindings[$matches[2]]) ? $bindings[$matches[2]] : 'transparent'; 

    return '<span style="color: '.$fg.'; background: '.$bg.';">'.$matches[3].'</span>'; 
} 

$str = '^C3,1Hello^C foo ^C6,2World^C'; 
$str = preg_replace_callback('/\^C([0-9]{1,2}),?([0-9]{1,2})(.*?)\^C/', 'mycallback', $str); 

echo $str;