Je n'arrive pas à afficher mes caractères html malgrès mes fonctions.
pouvez-vous me dire ce qui cloche svp?
Merci
<?php
require('gif.class.php');
$animation = array();
$duree = array();
//define('LARGEUR', 600);
//define('HAUTEUR', 600);
/* * ******************************* * Parametre * ******************************** */
$largeur = 600; /* longueur de l'image */
$hauteur = 600; /* hauteur de l'image */
// Le texte à afficher
$ok = 'Test<br /> </p> dfdgdf hh fhfhgh hfhgfhgfhfghgfh hfghgfjfgfgh hfhfghgfhgfhfg moi';
//conversion des Balises HTML
function convertir_en_caracteres_html($texte)
{
return str_replace(
array("<",">","&","'","""," ","’","","€"),
array("<",">","&","'","\""," ","'","-","euro"), htmlspecialchars_decode($texte, ENT_NOQUOTES));
}
//épuration du texte de tout codage
function epurer_texte($texte) {
$texte = html_entity_decode(convertir_en_caracteres_html($texte));
$texte = preg_replace("#(</p>)|(<br\s*/*>)#ism", "\n", $texte);
$texte = preg_replace("#(<[^>]*>)#ism", "", $texte);
$texte = preg_replace("#(?:\r\n|\r|\n|\t){2,}#ism", "\n", $texte);
return trim($texte);
}
//pour couper un texte au milieu
function getMilieuTexte($texte){
$milieu = strlen($texte)/2;
//eviter de couper un mot
for ($i=$milieu; $i<strlen($texte); $i++){ if (substr($texte,$i,1)=="." || substr($texte,$i,1)=="\n") break; }
return ($i<strlen($texte)?$i+1:$milieu);
}
$txt = epurer_texte($ok);
/* * ******************************* * IMAGE 1 * ******************************** */
$image = imagecreate($largeur, $hauteur);
/* Background */
$background = imagecolorallocate($image, 0, 255, 0);
$image= imagecreatefrompng('2016/1.png'); //Notre joli fond :p
/* Couleur du text */
$couleurTxt = imagecolorallocate($image, 238, 153, 26);
/* texte à mettre dans l'image */
/* Taille du texte */
$font_size = 10;
$font = 'arial.ttf';
/* Hauteur et largeur des caratères */
$largeurCaractere = ImageFontWidth($font_size);
$hauteurCaractere = ImageFontHeight($font_size);
/* Longueur du texte (taille caratère X nombre de caractère) */
$largeurTxt = $largeurCaractere * strlen($txt);
/* 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 = ceil(($hauteur - $hauteurCaractere) / 2);
$positionCentreVer = 420;
/* Ajout du texte au centre de l'image */
imagestring($image, $font_size, $positionCentreHor, $positionCentreVer, $txt, $couleurTxt);
ob_start();
imagegif($image);
$animation[] = ob_get_clean();
$duree[] = 20;
imagedestroy($image);
/* * ******************************* * CREATION IMAGE * ******************************** */
$gif = new GIFEncoder($animation, $duree, 0, 2, 0, 0, 0, 'bin');
header ("Content-type: image/gif");
echo $gif->GetAnimation();
?>
Par exemple <br /> </p> se transforment en vTIl faudrait que mon texte fasse 600px X 150px max. Donc s'il dépasse 600px alors une nouvelle ligne se créée.