|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 169 ![]() |
Bonjour à tous,
Je souhaite faire une fonction pour tronquer des textes. J'ai créé une fonction toute simple, mais je me suis aperçu que mes textes étant encodé, lorsqu'elle tronquait, il pouvait arriver que cela tronque au milieu d'un code html. Par exemple "hôtel", pourrait être tronqué en "h&oc". J'ai voulu donc ajouter un code, en convertissant avant de tronquer, et en reconvertissant ensuite pour l'affichage, mais je ne m'en sors pas. Si le dernier caractères restant après tronquage est un caractère spécial, lorsque je ré-encode, alors il me renvoie une chaine vide ! Voilà mon code actuel : Code :
P. |
||
|
|
00
|
|
|
#2 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Ni strlen ni substr ne sont appropriées pour de l'UTF-8. Pour ça, il faut aller chercher leurs équivalents dans mbstring (mb_strlen et mb_substr).
strlen, ici, renvoie le nombre d'unités de code et non de caractères, ce qui est totalement différent. Et substr, considère également les unités de code, donc vous pouvez effectivement couper en plein milieu de la représentation d'un caractère. PS : il n'aurait fallu faire un htmlspecialchars qu'à la toute fin [pour l'affichage] parce que là ça complique inutilement la tâche. Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 169 ![]() |
Trop fort !
Je ne connaissais pas du tout ce type de fonction. Merci beaucoup ! Au passage, je cherche la même chose pour le faire avec une fonction javascript pour l'utiliser dans l'API Google Maps, est-ce que ça existe ? Bonne journée. P. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Bonjour,
on s'était amusé à ca : Réparer du code HTML pour en arriver à ces fonctions. (en évitant de couper des mots) Ca m'a servi ici : Système de Gestion-Affichage de Nouvelles
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 169 ![]() |
Ah oui, comme tu dis , vous vous étiez amusé !
Merci. Je vais regarder ça. Bonne soirée. |
|
|
00
|
|
|
#6 | ||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 169 ![]() |
Bonjour à tous,
Je suis un peu perplexe. J'avais lancé ce sujet il y a quelques semaines, et la réponse apportée (sur la partie troncage en PHP) avait parfaitement fonctionnée. Je m'aperçois aujourd'hui que cela ne fonctionne plus ! J'ai regardé et la fonction est toujours présente et inchangée : Code :
Tous les champs de ma table sont déclarés en utf8. Qu'est-ce qui pourrait influer sur le fait que la fonction ne marche plus ? Merci de votre aide ? |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com