|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 489
|
Posté le : Jeu Mar 27, 2008 21:27 Sujet du message: PHP Compter les caractères et accents |
|
|
Bonsoir,
Je souhaite compter le nombre de caractères d'une chaine.
Le problème est qu'avec strlen, si ma chaine est "c@3s$szédeee", le nombre retourné est 20 alors que je voudrais récupérer 12 caractères... Je n'ai pas résolu mon problème en utilisant mb_strlen, peut-être que je n'avais pas mis le bon encodage ?
Connaissez-vous une fonction comptant pour un caractère ceux étant sur plusieurs octets ?
Merci d'avance, Guillaume. |
|
| |
|
 |
tonguide WRInaute passionné

Inscrit le: 28 Nov 2003 Messages: 963
|
Posté le : Jeu Mar 27, 2008 21:36 Sujet du message: PHP Compter les caractères et accents |
|
|
| Remplaces les accents, compte ensuite ? |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 489
|
Posté le : Jeu Mar 27, 2008 21:43 Sujet du message: PHP Compter les caractères et accents |
|
|
Merci de ta réponse, je pense que c'est ce que je ferai en dernier recours... Il doit bien y avoir une solution !  |
|
| |
|
 |
phpmikedu83 WRInaute accro

Inscrit le: 06 Aoû 2005 Messages: 1259 Localisation: LE LAVANDOU
|
Posté le : Jeu Mar 27, 2008 21:47 Sujet du message: PHP Compter les caractères et accents |
|
|
| gcvoiron a écrit: |
Merci de ta réponse, je pense que c'est ce que je ferai en dernier recours... Il doit bien y avoir une solution !  |
Qu'utilises tu comme charset, c'est important de le savoir... |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 489
|
Posté le : Jeu Mar 27, 2008 21:51 Sujet du message: PHP Compter les caractères et accents |
|
|
| Mes pages sont en iso-8859-1... |
|
| |
|
 |
YoyoS WRInaute accro

Inscrit le: 14 Sep 2006 Messages: 1464
|
Posté le : Jeu Mar 27, 2008 22:16 Sujet du message: PHP Compter les caractères et accents |
|
|
Tu trouveras ton bonheur sur la doc: http://www.php.net/manual/fr/function.strlen.php
Faut toujours penser à y jeter un oeil avant de poser une question, une vraie mine d'or !  |
|
| |
|
 |
phpmikedu83 WRInaute accro

Inscrit le: 06 Aoû 2005 Messages: 1259 Localisation: LE LAVANDOU
|
Posté le : Jeu Mar 27, 2008 22:55 Sujet du message: PHP Compter les caractères et accents |
|
|
| gcvoiron a écrit: |
| Mes pages sont en iso-8859-1... |
Dans ta réponse je sens que t'entrevois le fond du problème...
Tu précises : "mes pages", ce que je comprends, c'est qu'il s'agit des déclarations dans le head de tes fichiers html...
Mais d'où sortent ces chaînes avec accents, d'une base de donnée ? elle aussi en iso ?... |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 489
|
Posté le : Jeu Mar 27, 2008 22:55 Sujet du message: PHP Compter les caractères et accents |
|
|
J'ai lu et relu la doc... Mais rien trouvé concernant les caractères multi-octets. |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 489
|
Posté le : Jeu Mar 27, 2008 23:09 Sujet du message: PHP Compter les caractères et accents |
|
|
| phpmikedu83 a écrit: |
| gcvoiron a écrit: |
| Mes pages sont en iso-8859-1... |
Dans ta réponse je sens que t'entrevois le fond du problème...
Tu précises : "mes pages", ce que je comprends, c'est qu'il s'agit des déclarations dans le head de tes fichiers html...
Mais d'où sortent ces chaînes avec accents, d'une base de donnée ? elle aussi en iso ?... |
Ces chaines de caractères viennent d'un formulaire. C'est pour vérifier que le mot de passe est comprit en X et Y caractères. |
|
| |
|
 |
phpmikedu83 WRInaute accro

Inscrit le: 06 Aoû 2005 Messages: 1259 Localisation: LE LAVANDOU
|
Posté le : Jeu Mar 27, 2008 23:16 Sujet du message: PHP Compter les caractères et accents |
|
|
| gcvoiron a écrit: |
Ces chaines de caractères viennent d'un formulaire. C'est pour vérifier que le mot de passe est comprit en X et Y caractères. |
T'as dû rater quelque chose quelque part car ton problème sens fortement l'encodage caractère hétérogène
Y'a pas que de l'iso à mon avis... |
|
| |
|
 |
gcvoiron WRInaute impliqué

Inscrit le: 19 Oct 2005 Messages: 489
|
Posté le : Jeu Mar 27, 2008 23:30 Sujet du message: PHP Compter les caractères et accents |
|
|
| phpmikedu83 a écrit: |
| gcvoiron a écrit: |
Ces chaines de caractères viennent d'un formulaire. C'est pour vérifier que le mot de passe est comprit en X et Y caractères. |
T'as dû rater quelque chose quelque part car ton problème sens fortement l'encodage caractère hétérogène
Y'a pas que de l'iso à mon avis... |
Effectivement, j'avais bien une erreur... Je suis passé de Gedit à Quanta++ et il enregistrait mes pages en UTF...
Merci à tous pour l'aide !
 |
|
| |
|
 |
jarreweb WRInaute occasionnel

Inscrit le: 12 Sep 2003 Messages: 172 Localisation: saint-etienne
|
Posté le : Ven Mar 28, 2008 10:59 Sujet du message: PHP Compter les caractères et accents |
|
|
éventuellement un strlen sur un utf8_decode
| Code: |
| strlen(utf8_decode($ma_chaine)) |
|
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2727 Localisation: Bangalore +3h30
|
Posté le : Ven Mar 28, 2008 13:57 Sujet du message: Re: PHP Compter les caractères et accents |
|
|
| gcvoiron a écrit: |
Connaissez-vous une fonction comptant pour un caractère ceux étant sur plusieurs octets ?
Merci d'avance, Guillaume. |
http://www.phpwact.org/php/i18n/charsets
| Code: |
//Checking a Strings Length:
if ( !preg_match('/^\w{,10}$/u', $firstname) ) {
die($firstname . ' is too long');
}
|
|
|
| |
|
 |
YoyoS WRInaute accro

Inscrit le: 14 Sep 2006 Messages: 1464
|
Posté le : Ven Mar 28, 2008 17:50 Sujet du message: PHP Compter les caractères et accents |
|
|
| tout ça était dans la doc :p |
|
| |
|
 |
KOogar WRInaute accro

Inscrit le: 16 Nov 2004 Messages: 2727 Localisation: Bangalore +3h30
|
Posté le : Sam Mar 29, 2008 1:40 Sujet du message: PHP Compter les caractères et accents |
|
|
| c'est un + l'utilisation du métacaractère world \w si l'on veut compter les caractères unique d'une chaine en UTF8.. et c'est pas expliquer dans la doc officielle php. |
|
| |
|
 |
| |
|
|