Page 1 sur 1

PHP/GD avec TinyMCE

Posté : 07 déc. 2015, 11:13
par orell1
Bonjour,

Je souhaiterais importer via un <form> du texte généré par tinyMCE.
Malheureusement mon code GD fait que le code est afficher en brut dans mon image : <p>aaaaaaaaaaaaaaaaaaaaaaa</p> <br /><p>bbbbbbbbbbbbbbbbbbbbbbbbbbbb</p>

Avez-vous une solution pour régler ce problème ?
Merci par avance pour votre aide.
Cordialement,

codage GD :
<?php
header('Content-type: image/gif'); 
/* * *******************************  * Parametre  * ********************************  */ 
$largeur = 600; /* longueur de l'image */ 
$hauteur = 600; /* hauteur de l'image */ 
$image = imagecreate($largeur, $hauteur); 
/* Background */ 
$image = imagecreatefromgif("2016/2016.gif");
/* Couleur du text */ 
$couleurTxt =  imagecreate($image, 255, 255, 0); 
/* texte à mettre dans l'image */ 
$suject = str_replace('<p>','',$_GET['fichier']); 
$suject = str_replace('</p>','',$suject); 

/* Taille du texte */ 
$font = 3; 
/* Hauteur et largeur des caratères */ 
$largeurCaractere = ImageFontWidth($font); 
$hauteurCaractere = ImageFontHeight($font); 
/* Longueur du texte (taille caratère X nombre de caractère) */ 
$largeurTxt = $largeurCaractere * strlen($suject); 
/* Recherche de la position horizontale centrale pour centrer le texte */ 
$positionCentreHor = ceil(($largeur - $largeurTxt) / 2); 
/* Recherche de la position horizontale centrale pour centrer le texte */ 
$positionCentreVer = 400; 
/* Ajout du texte au centre de l'image */ 
$image_string = ImageString($image, $font, $positionCentreHor, $positionCentreVer, $suject, $couleurTxt); 
/* Création de l'image */ 
imagegif($image); 

?>
Mon image s'affiche avec le texte grâce à :
<img src='http://site.fr/image.php?fichier=$_POST[elm1]'>
Merci par avance pour votre aide.
Cordialement,

Re: PHP/GD avec TinyMCE

Posté : 07 déc. 2015, 11:49
par @rthur
Bonjour,

La fonction ImageString() de GD ne permet pas de gérer la mise en forme en HTML (gras, italique, paragraphe...), tu peux juste mettre du texte brut avec cette fonction.
Pour transformer ton code HTML en texte brut, tu peux utiliser la fonction strip_tags()

Re: PHP/GD avec TinyMCE

Posté : 07 déc. 2015, 11:58
par orell1
Merci.
Ta fonction fonctionne très bien.
Les balise ne sont plus visibles.

Par contre lorsqu'il y a un <br />, le saut de ligne ne se fait pas?
Comment gérer la chose?

Merci :-)

Re: PHP/GD avec TinyMCE

Posté : 07 déc. 2015, 15:08
par @rthur
Malheureusement, ImageString() ne gère pas les sauts de ligne nativement

La solution avec ImageString(), la solution est de faire un explode() sur les <br /> et de faire ensuite une boucle avec autant de ImageString() que tu déplaceras de la hauteur d'une ligne.
Voici une fonction qui fait cela proprement :
https://secure.php.net/manual/en/functi ... php#116501