Bonjour,

Je remarque une différente entre le découpage des chaines javascript (substring) et celui de smarty (truncate)...

Je découpe une chaine "ANGOULEME / LA COURONNE" lorsque celle-ci est trop grande par rapport à son conteneur, j'ai choisis 21 caractères à découper.

(Sachant que Smarty et javascript indicent à partir de 0)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
      mavar.substring(0,21)+"..."; // Javascript 
      // affiche : "ANGOULEME / LA COURO..." OK c'est bon !
      {$mavar|truncate:21:"...":true} // Smarty
      // affiche : "ANGOULEME / LA CO..." BAD...
Le rendu est différent donc j'essaye de doser mon découpage sur smarty

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
      {$mavar|truncate:23:"...":true} // smarty 
      // affiche : "ANGOULEME / LA COUR..."
      // presque....encore une fois
      {$mavar|truncate:24:"...":true} // smarty 
      // affiche : "ANGOULEME / LA COURONNE"
      // HUH ? 8O
J'ai regardé la fonction truncate et pourtant je passe les bons paramètres afin de ne demander qu'une césure de mot ($breakword=true et $middle=false).

Bref je n'explique pas mon problème...

Un coup de main ?