192-pb de cesure de la fonction Couper

je reviens dessus par rapport à mon mail d'hier, après un temps
supplémentaire d'observation de mon nouveau modele,
c'est que la fonction Couper n'a pas l'air tres fiable alors que je ne lui
vois pas de raison a ce comportement aleatoire puisqu'il s'agit d'abord d'un
calcul de longueur ??

Dans certains cas mais rares, elle le fait bien , affiche "(...)" quand
c'est trop long mais dans la plupart des cas mes mots sont coupés en deux ,
net (et sans bavure) ; pas de "..." pour dire d'aller voir le titre entier

donc si deja a la base le resultat est foireux, comment en creant une
seconde fonction "couper2" a partir de "couper" puis je esperer avoir un
resultat plus fiable que la source ?

avec un code du style (merci Mike) :

function couper2($texte) {
if (|strlen(|$texte)>18)
return couper($texte,12)
}
else{return concat(couper($texte,12),"...")}

Alors je sais pas si c'est un indice mais j'ai l'impression que notamment
mes titres avec une apostrophe dedans (') génèrent plus ce phénoméne
"aléatoire" que les titres sans - peut etre est ce une piste ?

Thanx

je reviens dessus par rapport à mon mail d'hier, après un
temps supplémentaire d'observation de mon nouveau modele,
c'est que la fonction Couper n'a pas l'air tres fiable alors
que je ne lui vois pas de raison a ce comportement aleatoire
puisqu'il s'agit d'abord d'un calcul de longueur ??

Dans certains cas mais rares, elle le fait bien , affiche
"(...)" quand c'est trop long mais dans la plupart des cas
mes mots sont coupés en deux , net (et sans bavure) ; pas de
"..." pour dire d'aller voir le titre entier

Si tu regarde à partir de
http://trac.rezo.net/trac/spip/browser/branches/spip-1.9.2/ecrire/inc/texte.
php#L268 et notament
http://trac.rezo.net/trac/spip/browser/branches/spip-1.9.2/ecrire/inc/texte.
php#L314 et suivantes, tu verra que c'est le comportement normal de la
fonction. Elle essaie vraiement de ne pas dépasser de la longueur demandée.

Donc ce n'est pas aléatoire, c'est juste que tu essaie de couper très court
des chaînes assez longues.