Comment faire un générateur de codes?

Fermé
razor - Modifié par irongege le 31/03/2011 à 19:07
 razor - 5 avril 2011 à 14:16
Bonjour,
J'aimerais savoir comment faire un générateur de codes html, car les rédacteurs de mon site utilisent des codes html pour les articles, et vu qu'ils ne s'y connaissent pas en codes je leur ai passer un bloc note avec des codes d'articles exemples, et j'aimerais leur facilité la tâche déjà qu'ils ont les articles eux mêmes à faire, donc j'aimerais leurs crée une page html ou php, qui permet de générer les codes en fonction des informations qu'ils auront mis dans les cases voici le code avec écrit *la-fonction* aux endroits où le formulaire devra intégrer les informations en fonction des codes quand au reste du code il ne doit pas être toucher :

<p><img src="dossier/images/*adresse-image-1.jpg*" border="0" alt="*description-image*" title="*titre-image*" width="*largeur-image-1*" height="*hauteur-image-1*" style="border: 0pt none;" /></p>
<p><strong>*phrase-d'introduction*
<hr id="system-readmore" />
</strong></p>
<div class="quote">
<div class="quote-l">
<div class="quote-r">
<p style="text-align: justify;"><img src="dossier/images/*adresse-image-2*" border="0" alt="*description-image-2*" title="*titre-image-2*" width="*largeur-image-2*" height="*hauteur-image-2*" style="float: right; border: 0pt none;" />Type : *type*.<br />Plateforme : *plateforme*.<br />PEGI : *pegi*.<br />Editeur : *éditeur*.<br />Développeur : *développeur*.<br />Sortie en France : *sortie-fr*.<br />Sortie aux USA : *sortie-usa*.<br />Site Web : <a href="*lien-site*" target="_blank" title="Site Web Officiel">Cliquez ici</a>.</p>
</div>
</div>
</div>
<p> </p>
<p>*description-article*.</p>
<p>{scrollbox}dir=galerie/*nom-galerie*|width=160|height=100|loop=1|numimgshow=...|numimgscroll=...|margin=...|fxdur=...{/scrollbox}</p>
<p>[div class="media" class2="typo-icon"]</p>
<p>{youtube}*ID-youtube*?hd=1&autohide=1&iv_load_policy=3;amp;rel=0&hl=fr_FR{/youtube}/div</p>

Merci d'avance
A voir également:

24 réponses

Tu veux que ton "générateur de code" créé un nouveau fichier HTML à chaque fois ou tu utilises une BDD?

Dans le premier cas, c'est plutôt galère car il faut que ton code modifie ta "page principale", pour rajouter un lien vers le fichier.

Dans le deuxième cas, cela devient "bateaux". Un formulaire que tes rédacteurs renseigne, les valeurs des champs sont envoyés sur un BDD. Et il te suffira de les récupérer dans la BDD à chaque fois que tu veux afficher une news.

Honnêtement, même si tu n'y connais rien ou peu en BDD(En général MySQL)/PHP, il vaut que tu apprennes afind 'appliquer la deuxième méthode.
3
Tout d'abord merci de ta réponse, alors en fait tu ma mal compris ce que je cherche en fait c'est une page html qui ne change pas, et qui en haut de page possède des cases à renseigner, puis en bas de page avec un bouton générer, générer le code dans une case qu'il suffit de copier coller manuellement dans l'article lui même ou à l'aide d'un bouton qui copie le code tout seul et qui reste juste à coller dans les articles eux même, comme sur ce site par exemple http://creer-un-site.fr/generateur-de-codes-videos-123.php
1
Le code qui est généré sera ensuite coller dans un fichier de manière "brute" ou coller sur une page Web?
0
de manière brute sur l'éditeur html de l'article.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hum... J'peux te faire un script PHP là dessus si tu veux...
Fait moi le formulaire, la page HTML vierge que tu veux qu'ils copient/collent.

C'est pas optimisé du tout comme fonctionnement, je sais pas si tu as le temps d'apprendre le PHP, MySQL pour repenser tout ton site mais je te le conseille vivement.

En attendant, comme dit au début, j'peux te faire le petit script de génération de code =)
0
Super merci quand au code il est ci-dessus, avec la fonction écrite *la-fonction*
dans les différentes lignes.

Merci D'avance de ton aide.
0
Adresse Image 1 : *adresse-image-1.jpg*
Description Image 1 : *description-image*
Titre Image 1 : *titre-image*
Largeur Image 1 : *largeur-image-1*
Hauteur Image 1 : *hauteur-image-1*
Phrase d'Introduction : *phrase-d'introduction*
Adresse Image 2 : *adresse-image-2.jpg*
Description Image 2 : *description-image-2*
Titre Image 2 : *titre-image-2*
Largeur Image 2 : *largeur-image-2*
Hauteur Image 2 : *hauteur-image-2*
Type : *type*.
Plateforme : *plateforme*.
PEGI : *pegi*.
Editeur : *éditeur*.
Développeur : *développeur*.
Sortie en France : *sortie-fr*.
Sortie aux USA : *sortie-usa*.
Site Web : *lien-site*
Description Article : *description-article*
Galerie : *nom-galerie*
ID Vidéo Youtube : *ID-youtube*
0
Je te fais ça demain ^^
Je suis plus trop en état ce soir (Oo! Un GI qui a du mal un jeudi soir ça existe ^^)

Ton hébergeur gère le PHP? Si tu ne sais pas, dis moi chez qui tu es héberger.
0
Oui pas de soucis pour le php, je suis chez free.

@+
0
Ca peut attendre lundi ou pas? ^^

Car je l'ai fait sur un PC de mon école. J'ai essayé de le poster directement mais je ne sais pas pourquoi, ça n'a pas marché.

Je devais le récupérer chez moi via le VPN mais le VPN ne fonctionne plus pour le moment... Et puis, il faut l'avouer, j'ai la flemme de le refaire avant lundi :p
0
Bah c'est quand même urgent quand au code c'est normal sur comment ca marche on peut pas les mettre directement car l'éditeur prend ca pour du langage sms, le plus simple c'est que tu me donne ton adresse email, ou mieux skype ou autre pour qu'on en parle. Ou que tu mette le code pour deux lignes uniquement.

Merci D'avance de me répondre rapidement car c'est urgent.
0
J'avais uploader le fichier, donc je navais pas copier de code ;)
0
Alors que compte tu faire ?
0
Et bien... J'vais le refaire demain.

Tu peux me passer l'adresse de ton site?
0
Ok pour demain, et je préfère te donner l'adresse par message priver, pour des raisons personnelles.

Merci de ta compréhension.
Et vivement demain alors !
0
Bonjour,
A où en est tu alors ?
0
Have fun !

<?php
$fields = array(
	"adresse-image-1" 		=> array( 'desc' => 'Adresse Image 1', 'type' => 'text' ),
	"description-image" 	=> array( 'desc' => 'Description Image 1', 'type' => 'text' ),
	"titre-image" 			=> array( 'desc' => 'Titre image', 'type' => 'text' ),
	"largeur-image-1" 		=> array( 'desc' => 'Largeur Image 1', 'type' => 'tinytext' ),
	"hauteur-image-1" 		=> array( 'desc' => 'Hauteur Image 1', 'type' => 'tinytext' ),
	"phrase-d-introduction" => array( 'desc' => "Phrase d'introduction", 'type' => 'text' ),
	"adresse-image-2" 		=> array( 'desc' => 'Adresse Image 2', 'type' => 'text' ),
	"description-image-2" 	=> array( 'desc' => 'Description Image 2', 'type' => 'textarea' )
	"titre-image-2" 		=> array( 'desc' => '', 'type' => 'text' ),
	"largeur-image-2" 		=> array( 'desc' => '', 'type' => 'text' ),
	"hauteur-image-2" 		=> array( 'desc' => '', 'type' => 'text' ),
	"type"	 				=> array( 'desc' => '', 'type' => 'text' ),
	"plateforme" 			=> array( 'desc' => '', 'type' => 'text' ),
	"pegi"					=> array( 'desc' => '', 'type' => 'text' ),
	"editeur"				=> array( 'desc' => '', 'type' => 'text' ),
	"developpeur"			=> array( 'desc' => '', 'type' => 'text' ),
	"sortie-fr"				=> array( 'desc' => '', 'type' => 'text' ),
	"sortie-usa"			=> array( 'desc' => '', 'type' => 'text' ),
	"lien-site"				=> array( 'desc' => '', 'type' => 'text' ),
	"description-article"	=> array( 'desc' => '', 'type' => 'text' ),
	"nom-galerie"			=> array( 'desc' => '', 'type' => 'text' ),
	"ID-youtube"			=> array( 'desc' => '', 'type' => 'text' )
);
?>
<form method="post">
<table>
<?php foreach( $fields as $key => $field )
{
	?><tr><td><?php echo $field['desc'] ?></td><td><?php
	switch( $field['type'] )
	{
		case 'textarea':
			echo '<textarea name="'.$key.'"></textarea>'; break;
		case 'tinytext':
			echo '<input name="'.$key.'" maxlength="4" size="4" style="width:40px;" />'; break;
		case 'text':
		default:
			echo '<input name="'.$key.'" />'; break;
	}
	?></td></tr><?php
}
?>
<tr><td colspan="2"><input type="submit" name="genHtml" /></td></tr>
</form>
</table>
<?php
if( !empty($_POST['genHtml']) )
{
	$sHtmlPattern = <<<SRCHTML
<p><img src="dossier/images/*adresse-image-1*" border="0" alt="*description-image*" title="*titre-image*" width="*largeur-image-1*" height="*hauteur-image-1*" style="border: 0pt none;" /></p> 
<p><strong>*phrase-d-introduction* 
<hr id="system-readmore" /> 
</strong></p> 
<div class="quote"> 
<div class="quote-l"> 
<div class="quote-r"> 
<p style="text-align: justify;"><img src="dossier/images/*adresse-image-2*" border="0" alt="*description-image-2*" title="*titre-image-2*" width="*largeur-image-2*" height="*hauteur-image-2*" style="float: right; border: 0pt none;" />Type : *type*.<br />Plateforme : *plateforme*.<br />PEGI : *pegi*.<br />Editeur : *editeur*.<br />Développeur : *developpeur*.<br />Sortie en France : *sortie-fr*.<br />Sortie aux USA : *sortie-usa*.<br />Site Web : <a href="*lien-site*" target="_blank" title="Site Web Officiel">Cliquez ici</a>.</p> 
</div> 
</div> 
</div> 
<p> </p> 
<p>*description-article*.</p> 
<p>{scrollbox}dir=galerie/*nom-galerie*|width=160|height=100|loop=1|numimgshow=...|numimgscroll=...|margin=...|fxdur=...{/scrollbox}</p> 
<p>[div class="media" class2="typo-icon"]</p> 
<p>{youtube}*ID-youtube*?hd=1&autohide=1&iv_load_policy=3;amp;rel=0&hl=fr_FR{/youtube}/div</p> 
SRCHTML;
	$aReplacePairs = array();
	foreach( $fields as $key => $field )
	{	
		$aReplacePairs[ '*'.$key.'*' ] = $_POST[ $key ];
	}
	echo '<div style="border:red thin solid;">'.htmlspecialchars(strtr( $sHtmlPattern, $aReplacePairs )).'</pre></div>';
}
0
Une coquille s'est introduite
<?php
$fields = array(
	"adresse-image-1" 		=> array( 'desc' => 'Adresse Image 1', 'type' => 'text' ),
	"description-image" 	=> array( 'desc' => 'Description Image 1', 'type' => 'text' ),
	"titre-image" 			=> array( 'desc' => 'Titre image', 'type' => 'text' ),
	"largeur-image-1" 		=> array( 'desc' => 'Largeur Image 1', 'type' => 'tinytext' ),
	"hauteur-image-1" 		=> array( 'desc' => 'Hauteur Image 1', 'type' => 'tinytext' ),
	"phrase-d-introduction" => array( 'desc' => "Phrase d'introduction", 'type' => 'text' ),
	"adresse-image-2" 		=> array( 'desc' => 'Adresse Image 2', 'type' => 'text' ),
	"description-image-2" 	=> array( 'desc' => 'Description Image 2', 'type' => 'textarea' ),
	"titre-image-2" 		=> array( 'desc' => '', 'type' => 'text' ),
	"largeur-image-2" 		=> array( 'desc' => '', 'type' => 'text' ),
	"hauteur-image-2" 		=> array( 'desc' => '', 'type' => 'text' ),
	"type"	 				=> array( 'desc' => '', 'type' => 'text' ),
	"plateforme" 			=> array( 'desc' => '', 'type' => 'text' ),
	"pegi"					=> array( 'desc' => '', 'type' => 'text' ),
	"editeur"				=> array( 'desc' => '', 'type' => 'text' ),
	"developpeur"			=> array( 'desc' => '', 'type' => 'text' ),
	"sortie-fr"				=> array( 'desc' => '', 'type' => 'text' ),
	"sortie-usa"			=> array( 'desc' => '', 'type' => 'text' ),
	"lien-site"				=> array( 'desc' => '', 'type' => 'text' ),
	"description-article"	=> array( 'desc' => '', 'type' => 'text' ),
	"nom-galerie"			=> array( 'desc' => '', 'type' => 'text' ),
	"ID-youtube"			=> array( 'desc' => '', 'type' => 'text' )
);
?>
<form method="post">
<table>
<?php foreach( $fields as $key => $field )
{
	?><tr><td><?php echo $field['desc'] ?></td><td><?php
	switch( $field['type'] )
	{
		case 'textarea':
			echo '<textarea name="'.$key.'"></textarea>'; break;
		case 'tinytext':
			echo '<input name="'.$key.'" maxlength="4" size="4" style="width:40px;" />'; break;
		case 'text':
		default:
			echo '<input name="'.$key.'" />'; break;
	}
	?></td></tr><?php
}
?>
<tr><td colspan="2"><input type="submit" name="genHtml" /></td></tr>
</form>
</table>
<?php
if( !empty($_POST['genHtml']) )
{
	$sHtmlPattern = <<<SRCHTML
<p><img src="dossier/images/*adresse-image-1*" border="0" alt="*description-image*" title="*titre-image*" width="*largeur-image-1*" height="*hauteur-image-1*" style="border: 0pt none;" /></p> 
<p><strong>*phrase-d-introduction* 
<hr id="system-readmore" /> 
</strong></p> 
<div class="quote"> 
<div class="quote-l"> 
<div class="quote-r"> 
<p style="text-align: justify;"><img src="dossier/images/*adresse-image-2*" border="0" alt="*description-image-2*" title="*titre-image-2*" width="*largeur-image-2*" height="*hauteur-image-2*" style="float: right; border: 0pt none;" />Type : *type*.<br />Plateforme : *plateforme*.<br />PEGI : *pegi*.<br />Editeur : *editeur*.<br />Développeur : *developpeur*.<br />Sortie en France : *sortie-fr*.<br />Sortie aux USA : *sortie-usa*.<br />Site Web : <a href="*lien-site*" target="_blank" title="Site Web Officiel">Cliquez ici</a>.</p> 
</div> 
</div> 
</div> 
<p> </p> 
<p>*description-article*.</p> 
<p>{scrollbox}dir=galerie/*nom-galerie*|width=160|height=100|loop=1|numimgshow=...|numimgscroll=...|margin=...|fxdur=...{/scrollbox}</p> 
<p>[div class="media" class2="typo-icon"]</p> 
<p>{youtube}*ID-youtube*?hd=1&autohide=1&iv_load_policy=3;amp;rel=0&hl=fr_FR{/youtube}/div</p> 
SRCHTML;
	$aReplacePairs = array();
	foreach( $fields as $key => $field )
	{	
		$aReplacePairs[ '*'.$key.'*' ] = $_POST[ $key ];
	}
	echo '<div style="border:red thin solid;">'.htmlspecialchars(strtr( $sHtmlPattern, $aReplacePairs )).'</div>';
}
0
Bonjour,
Je te remercie infiniment pour ton travail, j'ai copier copier-coller tout, et j'ai tout mis dans un fichier php, que j'ai mis sur le ftp, cependant il y a une erreur lorsque j'accède à la page, elle est blanche avec écrit seulement "Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /adresse-site/generateurarticles.php on line 11"

Merci d'Avance de m'aider à régler le problème.
0
et c'est aussi c'est quoi "une coquille s'est introduite" ?
et comment je dois copier le code ? tout dans une page ? ou séparer ou comment ?
0
Finalement problème régler et ton générateur est sublime alors vraiment merci beaucoup pour ton travail !
Sujet Résolu.
0
De rien.
La "coquille" était une erreur de virgule, il en manquait une dans le 1er code.
0
bonjour,
je ne sais pas si l'un de vous y a pensé, mais est ce que vous savez ce que c'est qu'un éditeur wysiwyg ? il est facile de trouver un script sur internet, ensuite on récupère le contenu de ce qui a été tapé dans une variable (le contenu possède donc du code html) et ensuite ya juste a la stocker où l'on veut
0