Calculer le nombre de caracteres en php

Invité
Invité n'ayant pas de compte PHPfrance

02 sept. 2005, 22:42

salut,

est ce qu'il ya une fonction qui calcule le nombre de caracteres dans un mot, strlen calcule meme l'espace et wordwrap ne marche pa, mon but c'est de calculer le nombre de caracteres dans un mot, et si ce mot contient plus de 15 caracteres j'aurais un message d'erreur echo 'texte tres long';

merci

Eléphant du PHP | 142 Messages

02 sept. 2005, 22:52

hello

tu as strlen(); et
mb_strlen();

HD
Mammouth du PHP | 1181 Messages

02 sept. 2005, 22:54

je comptais te proposer strlen mais puisque tu veux pas compter les espaces perso j'ai qu'une solution à te proposer mais c'est un peu lourd :
$taille = strlen($phrase);
$nombre= "0";
$ligne = 0 ;

while ( $ligne < $taille ) {

if ($phrase[$ligne]=" ") {
$nombre=$nombre+1
}
$ligne=$ligne+1;
};
$nbr_cara=$taille-$nombre;

Eléphant du PHP | 142 Messages

02 sept. 2005, 23:11

oups je n'avais pas bien lu...

Code : Tout sélectionner

$longeur_chaine = strlen(str_replace(' ','', $chaine);

HD
Mammouth du PHP | 1181 Messages

02 sept. 2005, 23:14

ah ca j y ai pas pensé ! ca a marché ?

Invité
Invité n'ayant pas de compte PHPfrance

02 sept. 2005, 23:37

supposons que j'ai un message du type:

$message = 'fdsfdsqf 1234567890123456789 144587 fsdfsdf fsdgsdgsdg';

ce message contient 19 caracteres dans le premier mot, alors si le nombre de caracteres dans un mot doit afficher erreur, ici on a 5 mots, le 2eme est tres long.

j'ai pense a ca:
1- utiliser une recherche dans $message pour chaque mot,
2- trouver le mot
3- erreur

si le mot long n'existe pas il va inserer le message dans la base de donnee

je l'ai traduit en ca:

function MotTresLong ($message, $longueur)
{
$message = (wordwrap($message, '15'));
if ($message > $longueur)
{
echo 'message tres long';
}
else
{
$sql = insert ....
}
}

mais je sais pas si ca va marcher ou pas
{