PHP/GD avec TinyMCE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP/GD avec TinyMCE

Re: PHP/GD avec TinyMCE

par @rthur » 07 déc. 2015, 15:08

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

Re: PHP/GD avec TinyMCE

par orell1 » 07 déc. 2015, 11:58

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

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

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()

PHP/GD avec TinyMCE

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

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,