begin process at 2012 02 11 02:22:10
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > CONVERTISSEUR CODES COULEUR ET STYLE SH (TTY) EN HTML

CONVERTISSEUR CODES COULEUR ET STYLE SH (TTY) EN HTML


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caratère Classé sous :sh, couleur, code, html, tty Niveau :Initié Date de création :10/04/2007 Vu :8 357

Auteur : Elektordi

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Permet d'afficher en html le retour d'une appli linux qui utilise les couleurs avec des codes TTY.


Infos utilisées: (prises dans le code de eApp, une base de serveur MMORPG)

// \033[#;...;#m - Set Graphics Rendition (SGR)
//
//  printf("\x1b[1;31;40m"); // Bright red on black
//  printf("\x1b[3;33;45m"); // Blinking yellow on magenta (blink not implemented)
//  printf("\x1b[1;30;47m"); // Bright black (grey) on dim white
//
//  Style           Foreground      Background
//  1st Digit       2nd Digit       3rd Digit RGB
//  0 - Reset       30 - Black      40 - Black 000
//  1 - FG Bright   31 - Red        41 - Red 100
//  2 - Unknown     32 - Green      42 - Green 010
//  3 - Blink       33 - Yellow     43 - Yellow 110
//  4 - Underline   34 - Blue       44 - Blue 001
//  5 - BG Bright   35 - Magenta    45 - Magenta 101
//  6 - Unknown     36 - Cyan       46 - Cyan 011
//  7 - Reverse     37 - White      47 - White 111
//  8 - Concealed (invisible)

Source

  • <?
  • $cmd="ls -l --color=yes /dev";
  • // WARNING: Décommenter la ligne suivante peut être dangereux si votre serveur est publique !!!
  • // if(!empty($_GET["cmd"])) $cmd=$_GET["cmd"];
  • ?>
  • <html><head><title>Test couleurs - <? echo $cmd; ?></title></head>
  • <body bgcolor="#000000" text="#FFFFFF"><p><pre>
  • <?
  • exec($cmd,$out);
  • foreach($out as $line)
  • {
  • $close = "";
  • $mode_start = "";
  • $mode_end = "";
  • $line = explode("\033",$line);
  • foreach($line as $bloc)
  • {
  • if(substr($bloc,0,1)!="[")
  • {
  • echo $mode_start.$bloc.$mode_end;
  • continue;
  • }
  • $pos = strpos($bloc,"m");
  • if($pos===FALSE)
  • {
  • echo substr($bloc,3);
  • continue;
  • }
  • if(!empty($close)) echo $close;
  • $font=false;
  • $code = substr($bloc,1,$pos);
  • $texte = substr($bloc,$pos+1);
  • if($code=="0m" || $code=="m")
  • { // RESET
  • $mode_start = "";
  • $mode_end = "";
  • echo $texte;
  • continue;
  • }
  • $code = explode(";",substr($code,0,strlen($code)-1));
  • foreach($code as $c)
  • {
  • if($c<10)
  • {
  • switch($c)
  • {
  • case 0: // Reset
  • $mode_start = "";
  • $mode_end = "";
  • break;
  • case 1: // FG Bright
  • $mode_start = "<b>";
  • $mode_end = "</b>";
  • break;
  • case 2: // ???
  • $mode_start = "";
  • $mode_end = "";
  • break;
  • case 3: // Blink
  • $mode_start = "<blink>";
  • $mode_end = "</blink>";
  • break;
  • case 4: // Underline
  • $mode_start = "<u>";
  • $mode_end = "</u>";
  • break;
  • case 5: // BG Bright [REMPLACE PAR I CAR RIEN TROUVE D'AUTRE]
  • $mode_start = "<i>";
  • $mode_end = "</i>";
  • break;
  • case 6: // ???
  • $mode_start = "";
  • $mode_end = "";
  • break;
  • case 7: // Reverse [NOT SUPPORTED]
  • $mode_start = "";
  • $mode_end = "";
  • break;
  • case 8: // Concealed
  • $mode_start = "<span style=\"visibility: hidden;\">";
  • $mode_end = "</span>";
  • break;
  • }
  • }
  • else if($c>29 && $c<40)
  • {
  • echo "<font color=\"#".id_to_hex($c-30)."\">";
  • $close="</font>".$close;
  • }
  • else if($c>39 && $c<50)
  • {
  • echo "<span style=\"background: #".id_to_hex($c-40).";\">";
  • $close="</span>".$close;
  • }
  • }
  • echo $mode_start.$texte.$mode_end;
  • }
  • if(!empty($close)) echo $close;
  • echo "<br/>\n";
  • }
  • function id_to_hex($id)
  • {
  • switch($id)
  • {
  • case 0: return "000000";
  • case 1: return "FF0000";
  • case 2: return "00FF00";
  • case 3: return "FFFF00";
  • case 4: return "0000FF";
  • case 5: return "FF00FF";
  • case 6: return "00FFFF";
  • case 7: return "FFFFFF";
  • default: return "EEEEEE"; // Erreur
  • }
  • }
  • ?>
  • </pre></p></body></html>
<?

$cmd="ls -l --color=yes /dev";

// WARNING: Décommenter la ligne suivante peut être dangereux si votre serveur est publique !!!
// if(!empty($_GET["cmd"])) $cmd=$_GET["cmd"];

?>
<html><head><title>Test couleurs - <? echo $cmd; ?></title></head>
<body bgcolor="#000000" text="#FFFFFF"><p><pre>
<?

exec($cmd,$out);

foreach($out as $line)
{
	$close = "";
	$mode_start = "";
	$mode_end = "";
	$line = explode("\033",$line);
	foreach($line as $bloc)
	{
		if(substr($bloc,0,1)!="[")
		{
			echo $mode_start.$bloc.$mode_end;
			continue;
		}
		$pos = strpos($bloc,"m");
		if($pos===FALSE)
		{
			echo substr($bloc,3);
			continue;
		}
		if(!empty($close)) echo $close;
		$font=false;
		$code = substr($bloc,1,$pos);
		$texte = substr($bloc,$pos+1);
		if($code=="0m" || $code=="m")
		{ // RESET
			$mode_start = "";
			$mode_end = "";
			echo $texte;
			continue;
		}
		$code = explode(";",substr($code,0,strlen($code)-1));
		foreach($code as $c)
		{
			if($c<10)
			{
				switch($c)
				{
					case 0: // Reset
						$mode_start = "";
						$mode_end = "";	
						break;
					case 1: // FG Bright
						$mode_start = "<b>";
						$mode_end = "</b>";	
						break;
					case 2: // ???
						$mode_start = "";
						$mode_end = "";	
						break;
					case 3: // Blink
						$mode_start = "<blink>";
						$mode_end = "</blink>";	
						break;
					case 4: // Underline
						$mode_start = "<u>";
						$mode_end = "</u>";	
						break;
					case 5: // BG Bright [REMPLACE PAR I CAR RIEN TROUVE D'AUTRE]
						$mode_start = "<i>";
						$mode_end = "</i>";	
						break;
					case 6: // ???
						$mode_start = "";
						$mode_end = "";	
						break;
					case 7: // Reverse [NOT SUPPORTED]
						$mode_start = "";
						$mode_end = "";	
						break;
					case 8: // Concealed
						$mode_start = "<span style=\"visibility: hidden;\">";
						$mode_end = "</span>";	
						break;
				}
			}
			else if($c>29 && $c<40)
			{
				echo "<font color=\"#".id_to_hex($c-30)."\">";
				$close="</font>".$close;
			}
			else if($c>39 && $c<50)
			{
				echo "<span style=\"background: #".id_to_hex($c-40).";\">";
				$close="</span>".$close;
			}
		}


		echo $mode_start.$texte.$mode_end;
	}
	if(!empty($close)) echo $close;
	echo "<br/>\n";
}

function id_to_hex($id)
{
	switch($id)
	{
		case 0: return "000000";
		case 1: return "FF0000";
		case 2: return "00FF00";
		case 3: return "FFFF00";
		case 4: return "0000FF";
		case 5: return "FF00FF";
		case 6: return "00FFFF";
		case 7: return "FFFFFF";
		default: return "EEEEEE"; // Erreur
	}
}

?>
</pre></p></body></html>

 Conclusion

Morceau de code réalisé pour une petite interface d'admin web perso.

J'avait cherché un tel code sur CS puis internet mais je n'avait rien trouvé. J'ai donc codé mon parseur et je le poste au cas où ca pourrait servir à d'autres...

Je sais qu'il existe d'autres codes de style, principalement pour le déplacement du curseur et l'éffacement, mais il sont bcps plus durs à reproduire en html.


 Sources du même auteur

COMPTEUR DE JOURS RESTANTS DANS LE TOPIC D'UN CHANNEL IRC (À...
Source avec Zip GESTION DE SERVICES WINDOWS ET D'ÉXÉCUTABLES DEPUIS UNE PAGE...
Source avec Zip GESTIONNAIRE D'IMAGES POUR INTERFACE D'ADMIN

 Sources de la même categorie

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip CLASSE D'OBJET DE RECHERCHE DE MOTS DANS DES TABLEAUX ET/OU ... par 8Tnerolf8
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE par tefa24600
Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip Source avec une capture CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGE par Salva9473

 Sources en rapport avec celle ci

FONCTION ENVOI DE MAIL PHP QUI PERMET DE PASSER LE FILTRE AN... par alienat
TRANSFORMER DU PBB CODE EN CODE HTML par audain
Source avec Zip GÉNÉRER LA CLÉ D'UN CODE-BARRE EAN13 par kalou037
LISTER DES LIENS / URLS DEPUIS UN TEXTE par gmni
Source avec Zip ENVOIE MAIL EN HTML AVEC PHP PAS DE SPAM SUR HOTMAIL ET GMAI... par Dje33

Commentaires et avis

Commentaire de coucou747 le 11/04/2007 07:17:52 administrateur CS

L'idee est interessante, apres, on fera les recommandations habituelles :
# <body bgcolor="#000000" text="#FFFFFF"><p><pre>  c'est du vieux html,
<?php est a utiliser a la place de <?
' est a utiliser a la place de "
il faut verifier que $out contient bien une ligne, sinon, on a un warning
idem pour #  $code = explode(";",substr($code,0,strlen($code)-1));
# foreach($code as $c)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Image sur click .. [ par nicolas66 ] Bonsoir @ tous !Je voulais juste savoir comen il était possible d'afficher une image créee avec php dans la meme page ou il y a un formulaire sur clic Comment je peux cacher la source de mon code html dans une page php pour ne pas qu'on voye les action faite par le site ? [ par BenXbox ] Comment je peux cacher la source de mon code html dans une page php pour ne pas qu'on voye les action faite par le site ? gros problème avec les cookies [ par phsautreau ] Bonjour,Je développe un site que je veux adaptable au mal voyant, cela signifie que j'ai créé une petite barre à l'instar de celle présenta lors de l' Comment créer un fichier externe avec du code utilisé par plusieur page html ??? [ par GuilleW ] Bonjour ....Pour commencer c'est pas mal qu'il y est du monde qui se bouge pour aider les autes ... (entre autre ... moi dans ce cas !!! <img src=/i lancer du code php a partir d un bouton html [ par fernand22fr ] Bonjours, je souhaiterais savoir comment je pourrais lancer du code php lorsque j appui sur un bouton( input type="button") d une page html.Merci d a Lire un code html en php [ par Yuleesize ] Bjr,J'aimerais savoir comment faire pour lire le code source html de n'importe quelle page du web via PHPJe crois qu'il faut utiliser la fonction file Envoi de mail HTML [ par cyaya ] j'ai ecrit ce code pour envoyer des mail avec un textArea en format text, je voudrais savoir s'il y une option à rajouter pour pouvoir envoyer le mail comment parcourir le code d'1 page html pour remplacer des zones définis [ par nakata94 ] Est ce qu'une personne pourrais m'aider, en me disant comment parcourir le code source d'1 page html pour remplacer des zones définis. Par exemple, je include nuit à l'affichage MySql [ par webdesignasp ] Bonjour,Qu'elqu'un peut-il me dire pourquoi j'ai ce problème ?Quand je lance cette page ça marche :&lt;?//include("include/connect.php");$table="clien Code html et php [ par actinetwork ] Hello tlm. je voulais juste poser une petite question...voila,un bou de mon code php ressemble a un truc du style:&lt;phpmysql_connect($connect_host,


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,572 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales