Cours par Webcam

Cours par Webcam

Formateur Web pour adultes depuis plus 11 ans, je vous propose des COURS collectifs par WEBCAM en LIVE pour booster vos connaissances et être autonome dans la création de site.

En savoir plus

PHP - Bases

PHP - Algorithmie

PHP - Chaîne

PHP - Tableau

PHP - Formulaires

PHP - Fonctions Usuelles

Données entres pages

Environnement et Interaction

PHP objet (POO)

Facebook
Twitter
LinkedIn

Informations sur les chaines en PHP

PHP propose plusieurs fonctions pour obtenir des informations sur les chaines de caractères, comme connaître le nombre de lettres, le nombre de mots..

Accéder directement à une chaîne

Pour récupérer un caractère sur une chaîne, il suffit d’indiquer à la fin de la variable, entre les accolades [ ], sa position (zéro correspond à la première position).

<?php
$texte = "le soleil";
echo $texte[1] ;  // affiche e
?>

Taille d’une chaîne

Pour connaître le nombre de caractères contenu dans une chaîne, vous pouvez utiliser la fonction strlen()

<?php
$str = 'david';
echo strlen($str); // 5
 
$str = ' ef gh ';
echo strlen($str); // 7
?>

Note : les espaces avant et après sont aussi comptés. De plus si vous utilisez des accents, le nombre de caractères peut être erroné si vous êtes en UTF-8. La solution consiste à décoder avec la fonction utf8_decode()

<?php
$str = 'éé';
echo strlen($str); // indique 4 caractères
echo strlen(utf8_decode($str)); // indique bien 2 caractères
?>

Nombre de mots dans une chaîne

Pour connaître le nombre de mots contenu dans une chaîne, vous pouvez utiliser la fonction str_word_count()

<?php
$str = 'La vie est belle';
echo str_word_count($str); // affiche 4
?>

La même fonction peut retourner dans un tableau tous les mots trouvés à l’intérieur de la chaîne. Il faut, pour cela, indiquer comme deuxième paramètre, la valeur numérique 1.

<?php
$str = 'La vie est belle';
$tab = str_word_count($str,1); // mettre le deuxième paramètre à 1
echo $tab[0] // affiche 'la'
?>

La même fonction peut aussi retourner un tableau associatif, où la clé indique la position numérique du mot à l’intérieur de string et la valeur est le mot actuel. Il faut, pour cela, indiquer comme deuxième paramètre, la valeur numérique 2.

<?php
$str = 'La vie est belle';
$tab = str_word_count($str,2); // mettre le deuxième paramètre à 2
echo $tab[3] // affiche 'vie'
?>

Connaître la présence de caractères

Il est parfois utile de vérifier la présence de caractères pour contrôler le format d’une chaîne (présence du point pour l’extension, de l’arobase pour l’email..).

– Trouver la première position

La fonction strpos() trouve la position de la première occurrence d’un caractère dans une chaîne.

<?php
$machaine = "nom-composé";
$pos = strpos($machaine, "-");
if ($pos === false) { // note : trois signes égal
// pas trouvé
}
?>

La fonction strpos() retourne false si elle ne trouve pas. Remarquez l’utilisation de l’opérateur === qui signifie que la comparaison se fera sur la valeur et le type. En PHP le zéro peut prendre la valeur false. Si une valeur est trouvée en position zéro elle ne doit pas être interprétée comme pas trouvée.

– Trouver la dernière position

La fonction strrpos() trouve la position de la dernière occurrence d’un caractère dans une chaîne.

<?php
$machaine = "image.jpg";
$pos = strrpos($machaine, ".");
if ($pos === false) { // note : trois signes égal
// pas trouvé
}
?>

– Trouver un segment unique

La fonction strspn() trouve la longueur du segment initial qui contient uniquement les caractères depuis un masque.

<?php
$machaine = "42 personnes sont venues";
$pos = strspn($machaine, "1234");
echo $pos; /* affiche 2 car "42" est le segment initial de la chaîne
dont les caractères sont contenus dans "1234567890" */
?>

La fonction strcspn() fait l’opération inverse et retourne la longueur de la première sous-chaine ne contenant aucun des caractères spécifiés.

<?php
$machaine = "42 personnes sont venues";
$masque = "'"; // apostrophe
$pos = strcspn($machaine, $masque);
echo $pos; /* affiche 24 ce qui correspond à strlen($machaine)
car pas d'apostrophes trouvés dans la chaine */
?>

Cette fonction est utile pour connaitre la présence de caractère non prévus ou interdits dans une chaîne.

A lire aussi

tutowebdesign

Afficher du contenu au scroll

Afficher du contenu au scroll Voici un effet impressionnant et pourtant très facile à mettre en place sur vos pages. Le principe consiste à faire

Lire »