24/05/2013, 09:55:29
Tu peux créer une balise UDT « optimizedcontent » avec çà :
Que tu appelles comme ça dans ton template :
Code :
[== PHP ==]
// Variables
$result = $params['content'] ;
// Traitement
$doc = new DOMDocument();
$result = mb_convert_encoding($result , 'HTML-ENTITIES', "UTF-8");
@$doc->loadHTML($result);
// Recuperation du resultat du traitement
$result = preg_replace('/^<!DOCTYPE.+?>/', '', str_replace( array('<html>', '</html>', '<body>', '</body>'), array('', '', '', ''), $doc->saveHTML()));
// Optimisation du traitement
$result = str_replace(chr(13),'',$result);
$result = html_entity_decode($result, ENT_QUOTES, "UTF-8");
// Ajout des espaces insecables
$result = str_replace(" :", " :", $result) ;
$result = str_replace(" !", " !", $result) ;
$result = str_replace(" ?", " ?", $result) ;
$result = str_replace(" ;", " ;", $result) ;
$result = str_replace(" %", " %", $result) ;
$result = str_replace(" €", " €", $result) ;
$result = str_replace(" »", " »", $result) ;
$result = str_replace("« ", "« ", $result) ;
// Eval Smarty
@ob_start();
echo $smarty->display('string:'.$result) ;
$result = @ob_get_contents();
@ob_end_clean();
// Affichage du resultat
echo $result ;
Que tu appelles comme ça dans ton template :
Code :
[== Smarty ==]
{content assign="content"}
{optimizedcontent content=$content}
Exacore - Freelance en communication