HTML conversion
* (kept compatible with legacy regex behavior)
* ---------------------------------------------------------
*/
$bbMap = array(
'[b]' => '',
'[/b]' => '',
'[i]' => '',
'[/i]' => '',
'[u]' => '',
'[/u]' => '',
);
/**
* Apply replacements (faster + cleaner than multiple preg_replace)
*/
$txt = str_replace(array_keys($bbMap), array_values($bbMap), $txt);
/**
* ---------------------------------------------------------
* Culoare: [color=#rrggbb]...[/color]
*
* Se accepta DOAR cod hexazecimal, verificat cu expresie regulata. Fara asta,
* un mesaj de sistem ar putea strecura CSS arbitrar in pagina fiecarui jucator.
* ---------------------------------------------------------
*/
$txt = preg_replace(
'/\[color=(#[0-9a-fA-F]{3,6})\]/',
'',
$txt
);
// Inchidem doar atatea etichete cate s-au deschis: un cod de culoare invalid
// nu trebuie sa lase un orfan in pagina jucatorului.
$colorOpen = substr_count($txt, '