Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

HTML VERS PHP


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 01/10/2003 Date de mise à jour : 07/10/2003 21:03:21 Vu / téléchargé: 5 138 / 454

Note :
9 / 10 - par 9 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
J'ai fait ce script pour des besoins perso.
Il transforme proprement et avec diverses options du html en php.

Le but avoué est de gagner du temps lors de développement de script php et surtout de ne plus faire de coquilles. J'ai écrit ce script après avoir passé des heures à chercher un bug dû à un guillemet mal placé.

Perso, je fais ainsi mes mises en pages avec un éditeur html wysiwyg et je transcris en 3s dans mon EDI php.

En espérant que cela serve, n'hésitez pas à m'en faire des remarques & co ;)

La page exécutable:
http://othersystem.loco-web.com/libre/html2php.php
l'url va bientôt changer et sera:
http://www.othersystem.net/libre/html2php.php

Capture d'écran:
http://othersystem.loco-web.com/libre/html2php.jpg
l'url va bientôt changer et sera:
http://www.othersystem.net/libre/html2php.jpg

le source est dispo en rar:
http://othersystem.loco-web.com/libre/html2php.zip
l'url va bientôt changer et sera:
http://www.othersystem.net/libre/html2php.zip
 

Source

  • <HTML><?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  • <head>
  • <title>HTML=>PHP</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  • </head>
  • <BODY><div align="center"><font face="Times New Roman, Times, serif" font size="5"><strong>Mise en forme HTML vers PHP</strong></font></div>
  • <div align="center"><font size="2">
  • <br>Si le nom de variable est omis la forme echo simple sera utilisée.
  • </font></div>
  • <SCRIPT>
  • function paste (){document.getElementById("Tinp").createTextRange().execCommand("Paste");}
  • function copy(){document.getElementById("Tout").createTextRange().execCommand("Copy");}
  • function varvide (){
  • var d=document.forms;
  • if (d.vrb.value=='') {
  • d.finecho.checked='';
  • d.finecho.disabled='true';
  • d.demaj.checked='';
  • d.demaj.disabled='true';
  • }else{
  • d.finecho.disabled='';
  • d.demaj.disabled='';
  • }
  • }
  • </SCRIPT>
  • <?PHP
  • $ppg=$_POST;
  • unset($_POST,$_GET);
  • if (!$ppg['flag']){
  • $ppg['vrb']='$e';
  • $ppg['rl']='\n';
  • $ppg['finecho']='on';
  • $ppg['dbl']=true;
  • $ppg['fcr']=true;
  • }
  • $cr=chr(13).chr(10);
  • if (get_magic_quotes_gpc()&&($ppg['flag'])) {
  • $ppg['t1']=stripslashes($ppg['t1']);
  • $ppg['vrb']=stripslashes($ppg['vrb']);
  • $ppg['rl']=stripslashes($ppg['rl']);
  • }
  • if ($ppg['dbl']){
  • $g='"';
  • $dbl_m='checked';
  • $rl=$ppg['rl'].'";';
  • }else{
  • $g="'";
  • $rl='\'."'.$ppg['rl'].'";';
  • }
  • if (!$ppg['vrb']){
  • $vr='echo '.$g;$vr1=$vr;
  • $demaj_m='disabled';
  • $finecho_m='disabled';
  • }else{
  • $vr=$ppg['vrb'].'.='.$g;
  • if (!$ppg['demaj']){
  • $vr1=$ppg['vrb'].'='.$g;
  • }else{
  • $vr1=$vr;
  • $demaj_m='checked';
  • }
  • }
  • if ($g=='"'){
  • $txt=$vr1.addslashes($ppg['t1']);
  • }else{
  • $txt=$vr1.str_replace('\'','\\\'',$ppg['t1']);
  • }
  • $txt=str_replace( $cr,$rl.$cr.$vr,$txt).$rl;
  • if ($ppg['finecho']){
  • $txt.=$cr.'echo '.$ppg['vrb'].';';
  • $finecho_m='checked';
  • }
  • if ($ppg['fcr']){
  • $txt.=$cr;
  • $fcr_m='checked';
  • }
  • $vrb_m=$ppg['vrb'];
  • $rl_m=$ppg['rl'];
  • $e="<form name=\"forms\" action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\">\n";
  • $e.=" <input name=\"flag\" type=\"hidden\" value=\"true\" />\n";
  • $e.=" <table border=\"1\" align=\"center\">\n";
  • $e.=" <tr>\n";
  • $e.=" <td width=50% >\n";
  • $e.=" <input name=\"vrb\" type=\"text\" id=\"vrb\" value=\"$vrb_m\" tabindex=1 size=\"10\" onchange=javascript:varvide(); />\n";
  • $e.=" Nom de variable</td>\n";
  • $e.=" <td>\n";
  • $e.=" <input name=\"demaj\" type=\"checkbox\" id=\"demaj\" $demaj_m tabindex=4 />\n";
  • $e.=" Démarrer en ajout\n";
  • $e.=" </td>\n";
  • $e.=" </tr>\n";
  • $e.=" <tr>\n";
  • $e.=" <td>\n";
  • $e.=" <input name=\"rl\" type=\"text\" value=\"$rl_m\" tabindex=2 size=\"10\" />\n";
  • $e.=" Retour à la ligne</td>\n";
  • $e.=" <td>\n";
  • $e.=" <input name=\"finecho\" type=\"checkbox\" id=\"finecho\" $finecho_m tabindex=5 />\n";
  • $e.=" Mettre echo à la fin\n";
  • $e.=" </td>\n";
  • $e.=" </tr>\n";
  • $e.=" <tr>\n";
  • $e.=" <td>\n";
  • $e.=" <input name=\"dbl\" type=\"checkbox\" id=\"dbl\" $dbl_m tabindex=3 />\n";
  • $e.=" Guillemets doubles</td>\n";
  • $e.=" <td>\n";
  • $e.=" <input name=\"fcr\" type=\"checkbox\" id=\"fcr\" $fcr_m tabindex=6 />\n";
  • $e.=" Finir avec un CR\n";
  • $e.=" </td>\n";
  • $e.=" </tr>\n";
  • $e.=" </table>\n";
  • $e.=" <tr>\n";
  • $e.=" <br>\n";
  • $e.=" </tr>\n";
  • $e.=" <table border=1 align=\"center\" >\n";
  • $e.=" <tr>\n";
  • $e.=" <td colspan=\"4\">\n";
  • $e.=" <textarea id=\"Tinp\" name=\"t1\" wrap=\"off\" cols=\"48\" rows=\"10\">\n{$ppg['t1']}</textarea>\n";
  • $e.=" </td>\n";
  • $e.=" </tr>\n";
  • $e.=" </table>\n";
  • $e.=" <table border=1 align=\"center\" >\n";
  • $e.=" <tr>\n";
  • $e.=" <td align=\"right\">\n";
  • $e.=" <input type=\"button\" value=\"Coller\" onClick=javascript:paste(); >\n";
  • $e.=" </td>\n";
  • $e.=" <td align=\"center\">\n";
  • $e.=" <input name=\"envoi\" type=\"submit\" value=\"Mettre en php\">\n";
  • $e.=" </td>\n";
  • $e.=" <td align=\"left\">\n";
  • $e.=" <input type=\"button\" value=\"Copier\" onClick=javascript:copy(); >\n";
  • $e.=" </td>\n";
  • $e.=" </tr>\n";
  • $e.=" </table>\n";
  • $e.=" <table border=1 align=\"center\" >\n";
  • $e.=" <tr>\n";
  • $e.=" <td>\n";
  • $e.=" <textarea id=\"Tout\" name=\"t2\" wrap=\"off\" cols=\"48\" rows=\"10\">\n$txt</textarea>\n";
  • $e.=" </tr>\n";
  • $e.=" </table>\n";
  • $e.="</form>\n";
  • echo $e;
  • ?></BODY></HTML>
<HTML><?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<head>
<title>HTML=>PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<BODY><div align="center"><font face="Times New Roman, Times, serif" font size="5"><strong>Mise en forme HTML vers PHP</strong></font></div>
<div align="center"><font size="2">
<br>Si le nom de variable est omis la forme echo simple sera utilisée.
</font></div>
<SCRIPT>
function paste (){document.getElementById("Tinp").createTextRange().execCommand("Paste");}
function copy(){document.getElementById("Tout").createTextRange().execCommand("Copy");}
function varvide (){
	var d=document.forms;
	if (d.vrb.value=='') {
		d.finecho.checked='';
		d.finecho.disabled='true';
		d.demaj.checked='';
		d.demaj.disabled='true';
	}else{
		d.finecho.disabled='';
		d.demaj.disabled='';
	}
}
</SCRIPT>
<?PHP
	$ppg=$_POST;
	unset($_POST,$_GET);

	if (!$ppg['flag']){
		$ppg['vrb']='$e';
		$ppg['rl']='\n';
		$ppg['finecho']='on';
		$ppg['dbl']=true;
		$ppg['fcr']=true;
	}

	$cr=chr(13).chr(10);

	if (get_magic_quotes_gpc()&&($ppg['flag'])) {
		$ppg['t1']=stripslashes($ppg['t1']);
		$ppg['vrb']=stripslashes($ppg['vrb']);
		$ppg['rl']=stripslashes($ppg['rl']);
	}

	if ($ppg['dbl']){
		$g='"';
		$dbl_m='checked';
		$rl=$ppg['rl'].'";';
	}else{
		$g="'";
		$rl='\'."'.$ppg['rl'].'";';
	}
	
	if (!$ppg['vrb']){
		$vr='echo '.$g;$vr1=$vr;
		$demaj_m='disabled';
		$finecho_m='disabled';
	}else{
		$vr=$ppg['vrb'].'.='.$g;
		if (!$ppg['demaj']){
			$vr1=$ppg['vrb'].'='.$g;
		}else{
			$vr1=$vr;
			$demaj_m='checked';
		}
	}
	if ($g=='"'){
		$txt=$vr1.addslashes($ppg['t1']);
	}else{
		$txt=$vr1.str_replace('\'','\\\'',$ppg['t1']);
	}
	
	$txt=str_replace( $cr,$rl.$cr.$vr,$txt).$rl;

	if ($ppg['finecho']){
		$txt.=$cr.'echo '.$ppg['vrb'].';';
		$finecho_m='checked';
	}
	
	if ($ppg['fcr']){
		$txt.=$cr;
		$fcr_m='checked';
	}
	
	$vrb_m=$ppg['vrb'];
	$rl_m=$ppg['rl'];
	
	$e="<form name=\"forms\" action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\">\n";
	$e.="  <input name=\"flag\" type=\"hidden\" value=\"true\" />\n";
	$e.="  <table border=\"1\" align=\"center\">\n";
	$e.="    <tr>\n";
	$e.="      <td width=50% >\n";
	$e.="        <input name=\"vrb\" type=\"text\" id=\"vrb\" value=\"$vrb_m\" tabindex=1 size=\"10\" onchange=javascript:varvide(); />\n";
	$e.="        Nom de variable</td>\n";
	$e.="      <td>\n";
	$e.="        <input name=\"demaj\" type=\"checkbox\" id=\"demaj\" $demaj_m tabindex=4 />\n";
	$e.="        Démarrer en ajout\n";
	$e.="      </td>\n";
	$e.="    </tr>\n";
	$e.="    <tr>\n";
	$e.="      <td>\n";
	$e.="        <input name=\"rl\" type=\"text\" value=\"$rl_m\" tabindex=2 size=\"10\" />\n";
	$e.="        Retour à la ligne</td>\n";
	$e.="      <td>\n";
	$e.="        <input name=\"finecho\" type=\"checkbox\" id=\"finecho\" $finecho_m tabindex=5 />\n";
	$e.="        Mettre echo à la fin\n";
	$e.="      </td>\n";
	$e.="    </tr>\n";
	$e.="    <tr>\n";
	$e.="      <td>\n";
	$e.="          <input name=\"dbl\" type=\"checkbox\" id=\"dbl\" $dbl_m tabindex=3 />\n";
	$e.="          Guillemets doubles</td>\n";
	$e.="      <td>\n";
	$e.="        <input name=\"fcr\" type=\"checkbox\" id=\"fcr\" $fcr_m tabindex=6 />\n";
	$e.="        Finir avec un CR\n";
	$e.="      </td>\n";
	$e.="    </tr>\n";
	$e.="  </table>\n";
	$e.="  <tr>\n";
	$e.="    <br>\n";
	$e.="  </tr>\n";
	$e.="  <table border=1 align=\"center\" >\n";
	$e.="    <tr>\n";
	$e.="      <td colspan=\"4\">\n";
	$e.="        <textarea id=\"Tinp\" name=\"t1\" wrap=\"off\" cols=\"48\" rows=\"10\">\n{$ppg['t1']}</textarea>\n";
	$e.="      </td>\n";
	$e.="    </tr>\n";
	$e.="  </table>\n";
	$e.="  <table border=1 align=\"center\" >\n";
	$e.="    <tr>\n";
	$e.="      <td align=\"right\">\n";
	$e.="        <input type=\"button\" value=\"Coller\" onClick=javascript:paste(); >\n";
	$e.="      </td>\n";
	$e.="      <td align=\"center\">\n";
	$e.="        <input name=\"envoi\" type=\"submit\" value=\"Mettre en php\">\n";
	$e.="      </td>\n";
	$e.="      <td align=\"left\">\n";
	$e.="        <input type=\"button\" value=\"Copier\" onClick=javascript:copy(); >\n";
	$e.="      </td>\n";
	$e.="    </tr>\n";
	$e.="  </table>\n";
	$e.="  <table border=1 align=\"center\" >\n";
	$e.="    <tr>\n";
	$e.="      <td>\n";
	$e.="        <textarea id=\"Tout\" name=\"t2\" wrap=\"off\" cols=\"48\" rows=\"10\">\n$txt</textarea>\n";
	$e.="      </tr>\n";
	$e.="  </table>\n";
	$e.="</form>\n";
	echo $e;
?></BODY></HTML>

Conclusion

Si aucune variable n'est indiquée dans le champ prévu, la sortie sera sous forme ' echo "blabla html" '

Les options sont configurés par défaut comme il me convenait, mais leurs mofifications restent valident tout le temps de la session.

L'utilisation la plus rapide est de selectionner copier la portion html dans le presse papier, de cliquer sur 'Coller, Mettre en PHP, Copier' et de coller dans l'editeur PHP.

Mise à jour du 07/10/2003, la forme rendue avec les guillemets simples étaient invalide.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de eax le 01/10/2003 20:00:49

ah c vraiment sympa ça, il fallait y penser!

signaler à un administrateur
Commentaire de eax le 01/10/2003 20:15:48

unn truc qui serait mieux c de générer des (tabs) pour l'indentation du texte

signaler à un administrateur
Commentaire de Kirua le 02/10/2003 07:59:41

bonne idée, sinon autre chose de bien pratique (j'ai utilisé les 2 méthodes pr différents sites, et c'est la seconde qui me plait le plus)

première:

&lt;?
//script
if(CONDITION)
{
?&gt;
code html normal, avec éventuellement des tt petits bouts de php pr remplacer les valeurs, ça peut même venir ds une boucle :-)
&lt;?
}
?&gt;


seconde méthode, très bien celle là

j'ai fait ça parce que chaque page devait afficher des fiches assez complexes, alors pr pvr les retoucher à volonté, je les a ifaites en HTML pur, éditable donc sous dreamweaver, frontpage, totu ce que tu veux avec bcp de facilité, et dans les chmpas à remplir par des valeurs du php, j'ai mis %nomdelavaleur%
ensuite, j'ai un script php qui load le fichier dans une chaîne (file(fichier) et après implode())
puis des str_replace pr remplacer les %valeur% par la valeur exacte, et puis un echo sur la chaine. et je vous assure, c'est la meilleure manière pr les gros tableaux.

évidemment, pt qq ch de coursn c mieux ceci :-)

signaler à un administrateur
Commentaire de Francois76 le 02/10/2003 09:31:52

Merci très cool ton script.!

signaler à un administrateur
Commentaire de abys le 19/04/2004 23:55:07

maintenant tu peux convertir tout ton site en un seul click

http://www.vbfrance.com/code.aspx?ID=21987

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.