Traduction des styles mirc en code html/css

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 722 fois - Téléchargée 30 fois

Contenu du snippet

Une fonction PHP permettant de traduire les styles mIRC (le gras [^b], le souligné [^u], le reverse [^r] et les couleurs [^k]) en code html/css (balises <b>, <u> et <span style="color:[couleurtexte];background-color:[couleurfond];">).

Source / Exemple :


<?php
function mircstyles ($text) {
	$bold = '';
	$underline = '';
	$reverse = '';
	$color = '';

	function colors($masque) {
		$colors = array(
			'white',
			'black',
			'#000066',
			'#006600',
			'red',
			'#660000',
			'#9900FF',
			'orange',
			'yellow',
			'green',
			'#6699CC',
			'#99CCFF',
			'blue',
			'purple',
			'darkgray',
			'gray');

		$return = '<span style="color:'.$colors[$masque[1]].';';
		if ($masque[2]) { $return .= 'background-color:'.$colors[$masque[3]].';'; }
		$return .= '">'.$masque[4].'</span>';
		
		return $return;
	}

	$expreg = array(
		'/'.$bold.'([^'.$bold.']*)['.$bold.']?/',
		'/'.$underline.'([^'.$underline.']*)['.$underline.']?/',
		'/'.$reverse.'([^'.$reverse.']*)['.$reverse.']?/');

	$replace = array(
		'<b>$1</b>',
		'<u>$1</u>',
		'<span style="background-color:black;color:white;">$1</span>',);

	$array = explode("\n\r", $text);
	foreach ($array as $element) {
		$string = preg_replace($expreg, $replace, $element);
		$string = preg_replace_callback("/$color([0-9]{1,2})([,]([0-9]{1,2}))?([^$color]*)([$color][^0-9])?/","colors",$string);

		$strings[] = $string;
	}

	return implode("<br />", $strings);
}
?>

Conclusion :


La traduction des couleurs peut-être modifié dans l'array $colors (les couleurs sont dans le même ordre que sous mIRC, 0-15).

Cette fonction adopte le même comportement que mIRC face à la syntaxe des styles, normalement.

A voir également

Ajouter un commentaire

Commentaires

fidelio974
Messages postés
26
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
28 août 2009

salut sa sert a quoi ce code
Tarvos
Messages postés
40
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
24 mars 2006

En effet c'est plus simple avec des expressions régulières *________*
Tarvos
Messages postés
40
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
24 mars 2006

Ben à vrai dire je l'ai codé avec ce que je savais faire... strpos et substr_replace me semblaient être les seules possibilités ^^'
J'attend donc ton code avec impatience :p
Bonne continuation à toi aussi ;)
cs_PaDa
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
3
Ca m'étonne de tomber sur une source comme celle ci !

Je ne commenterai pas le code, j'ai pas le niveau (me suis mis a php dimanche, soit ya ... 3 jours) mais j'ai fait la même chose en mirc scripting : coloration mirc -> html
Voici le lien si ca t'intéresse, ca me semble beaucoup moins long a coder avec des regex en mirc, je pense "traduire" cette source en php, je verrai si j'y arrive, je posterai ici je pense on pourra comparer =]
http://www.ircfr.com/code.aspx?ID=26522
Bonne continuation

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.