|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() Inscription : octobre 2005 Messages : 3 398 ![]() |
Bonjour,
J'utilise Smarty depuis quelques temps, et j'aimerai maintenant parser un texte pour réaliser une sorte de bbcode. Cependant, j'ai quelques problèmes. En effet, mes balises de mise en forme sont de type '<bold>texte en gras</bold>', et l'utilisation des '< >' ne semble pas convenir à Smarty. Voici mon code qui ne fonctionne pas, car le texte n'est pas modifié : Code :
{$article->article|regex_replace:'/\<bold\>/':'<strong>'} Autre question : mon code ayant beaucoup de pattern, j'aimerai ne pas avoir à le copier/coller dans toutes les pages qui en ont besoin. Je me demandais s'il était possible de faire quelque chose dans ce genre : Code :
{$article->article|regex_replace:'/$pattern/':'$replacements'} Merci à vous |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Hello,
J'ai regardé pour le premier cas, en fait tu n'as pas besoin d'échapper les '<' ou les '>' en mettant des backslashes. L'exemple suivant fonctionne bien chez moi : Code :
{$test_regexp|regex_replace:'/<i>/':'<b>'} ![]() Un truc qui pourra t'aider : qu'est-ce qui se passe quand tu utilise le modificateur : regex_replace ? Si tu regardes le fichier compilé (dans templates_c) tu as un truc du genre : Code :
<?php echo ((is_array($_tmp=$this->_tpl_vars['test_regexp'])) ? $this->_run_mod_handler('regex_replace', true, $_tmp, '/<i>/', '<b>') : smarty_modifier_regex_replace($_tmp, '/<i>/', '<b>')); ?> Code :
@++
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com