Accueil » Articles » Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

LES FONCTIONS RELATIVES AUX CHAINES DE CARACTERES (STRING)

Dans les prochains chapitres, nous allons étudier quelques unes des 1000 fonctions déjà prêtes à l’emploi en PhP.

Nous allons commencer dans ce chapitre avec les fonctions les plus utiles et les plus utilisées relatives aux chaines de caractères.

Pour rappel, une chaine de caractères est une séquence de caractères, comme par exemple « bonjour à tous ».

Nous allons voir beaucoup de nouvelles fonctions dans ce chapitre et dans les suivants. Un conseil : n’essayez pas forcément de toutes les retenir d’un coup.

Pour le moment, essayez juste de comprendre leur fonctionnement et entrainez vous à manipuler des fonctions en PhP.

Lorsque vous aurez bien compris le principe, vous pourrez toujours retrouver toutes ces fonctions dans la documentation officielle de PhP.

Les fonctions strlen() et str_word_count()

La fonction strlen(), abréviation de « string lenght », va calculer le nombre d’octets d’une chaîne de caractères.

En UTF-8, les caractères normaux et les espaces comptent pour 1 octet, tandis que les caractères spéciaux (comme les caractères accentués) comptent pour deux.

Cette fonction ne prend qu’un seul paramètre, qui est la chaine de caractères dont on veut connaître la longueur approximative.

Par exemple :

Utilisation de la fonction str_len() en PhP

Ici, le résultat affiché sera 15. Encore une fois, comme cette fonction est une fonction existante en PhP et que nous n’avons pas été obligés de créer, il nous suffit de l’appeler et cette dernière va faire tout le travail !

La fonction str_word_count() va elle compter le nombre de mots contenus dans une chaine de caractères. Par défaut, les caractères spéciaux comme « à » ou « & » ne sont pas comptés comme des mots.

Cette fonction possède un paramètre obligatoire, qui est la chaîne de caractère à analyser, et deux paramètres facultatifs.

Le premier paramètre facultatif va nous permettre de définir le type d’affichage à la sortie (0 = nombre de mots ; 1 et 2 = tableaux). Le deuxième paramètre facultatif va nous permettre d’indiquer des caractères spéciaux qui doivent être comptabilisés en tant que mot.

Utilisation de la fonction str_word_count en PhP

Affichage de la fonction str_word_count en PhP

La fonction str_repeat()

La fonction str_repeat (pour « string repeat ») va nous permettre de répéter une chaine de caractères un nombre prédéfini de fois.

Cette fonction a besoin de deux paramètres pour fonctionner : la chaine de caractères à répéter et le nombre de fois que l’on veut la répéter.

Utilisation de la fonction str_repeat en PhP

Affichage de la fonction str_repeat en PhP

La fonction str_replace()

La fonction str_replace va nous permettre de remplacer certains caractères choisis d’une chaine de caractères par d’autres.

Cette fonction peut prendre jusqu’à quatre paramètres, donc trois sont obligatoires :

  • 1er paramètre : spécifie la valeur à rechercher (obligatoire)
  • 2ème paramètre : spécifie la valeur de remplacement (obligatoire)
  • 3ème paramètre : indique la chaine de caractères dans laquelle la recherche sera faite (obligatoire)
  • 4ème paramètre : variable comptant le nombre de remplacements (facultatif)

Note : cette fonction est sensible à la casse. Il nous faudra utiliser la fonction str_ireplace() si l’on veut pouvoir remplacer des caractères sans se soucier de la casse. Cette fonction marche exactement comme str_replace().

Utilisation de la fonction str_replace en PhP

Affichage de la fonction str_replace en PhP

Les fonctions strtolower() et strtoupper()

Les fonctions strtolower() et strtoupper() servent respectivement à mettre une chaine de caractères en minuscule ou en majuscule.

Ces deux fonctions n’ont besoin que d’un seul argument pour fonctionner : la chaine de caractères à transformer.

Utilisation des fonctions strtolower et strtoupper en PhP

Affichage des fonctions strtolower et strtoupper en PhP

La fonction strpos()

La fonction str_pos(), pour « string position » est utilisée pour rechercher un caractère spécifique (ou un mot) dans une chaine de caractère.

Si le caractère recherché est trouvé, la valeur retournée sera la position de la première occurrence du caractère (ou de la première lettre du mot) trouvé.

Si le caractère n’est pas trouvé, la fonction renverra le résultat FALSE (rien ne sera affiché).

Il faudra indiquer deux arguments à la fonction strpos() : la chaine de caractères dans laquelle faire la recherche, et le caractère recherché.

Notez bien que cette fonction considère que le premier caractère d’une chaine possède la position 0 et non pas 1.

Note : une nouvelle fois, méfiez vous : ce n’est pas exactement le nombre de caractères qui est compté mais le nombre d’octets.

Voyons immédiatement comment cela fonctionne en pratique :

Utilisation de la fonction strpos en PhP

Affichage de la fonction strpos en PhP

Les fonctions htmlspecialchars() et htmlspecialchars_decode()

La fonction htmlspecialchars() va convertir des caractères en entités HTML. Cela signifie que le navigateur de vos visiteurs va lire et afficher les balises HTML transformées comme n’importe quel texte, plutôt que de les interpréter comme des balises HTML.

Nous serons amenés à reparler de cette fonction, car celle-ci est très souvent utilisée pour sécuriser des formulaires par exemple. En effet, cela évite que des utilisateurs malveillants injectent du code HTML (à la place d’un pseudo par exemple) et provoquent des événements non souhaités.

Les caractères qui peuvent être transformés sont :

  • <, qui devient &lt ;
  • >, qui devient &gt ;
  • &, qui devient &amp ;
  • « , qui devient &quot ;
  • ‘, qui devient &#039.

Cette fonction utilise jusqu’à quatre paramètres mais un seul est obligatoire. On l’utilise généralement de la façon suivante :

Utilisation de la fonction htmlspecialchars en PhP

Affichage de la fonction htmlspecialchars en PhP

La fonction htmlspecialchars_decode() effectue l’opération contraire, et transforme des entités HTML comme &lt en caractères.

Utilisation de la fonction htmlspecialchars_decode en PhP

Affichage de la fonction htmlspecialchars_decode en PhP

La fonction nl2br()

La fonction nl2br(), qui signifie « new line to break », va nous servir à convertir des retours à la ligne en élément HTML
, afin de les conserver dans notre rendu final.

Par exemple, si l’on écrit cela dans notre code :

Utilisation de la fonction nl2br en PhP

Le navigateur effectuera bien un retour à la ligne lors de l’affichage final. Cette fonction est particulièrement utile lorsqu’on utilise des formulaires, avec des données rentrées par les utilisateurs comme des commentaires par exemple.

Affichage de la fonction nl2br en PhP

Les fonctions explode(), implode(), str_split() et join()

Les fonctions explode() et str_split() vont nous servir à casser des chaines de caractères pour les transformer en tableau selon différentes façons. Les fonctions implode() et join() vont faire exactement le contraire.

La fonction explode() va casser une chaine et la transformer en tableau selon un séparateur, qui va être un caractère que nous allons indiquer.

On peut par exemple utiliser l’espace comme séparateur, ou la lettre « e » ou le signe « ! »

Cette fonction utilise deux paramètres : le séparateur et la chaine à casser.

Utilisation de la fonction explode en PhP

Affichage de la fonction explode en PhP

La fonction str_split() va également casser une chaine de caractères et la transformer en tableau, mais cette fois ci le séparateur sera une longueur prédéfinie.
Si l’on choisit 1, par exemple, chaque lettre, espace ou signe sera transformé en élément de notre tableau. Si l’on choisit 2, le groupement se fera par deux et etc.

Cette fonction nécessite également deux paramètres : la chaine à casser et la longueur.

Utilisation de la fonction PhP str_split

Affichage de la fonction PhP str_split

La fonction implode() est la réciproque de la fonction explode() et va donc transformer un tableau en chaine de caractères, en séparant les différents éléments du tableau selon un séparateur.

Celle ci s’utilise de cette manière :

Utilisation de la fonction implode en PhP

Affichage de la fonction implode en PhP

16 commentaires

  1. abdelmalek derouich

    merci infiniment pour ces cours, j’été vraiment nul et maintenant je commence à n’avancer dans la création des sites WEB en utilisant le HTML, le CSS et le PHP et c’est grâce à vos cours minutieusement expliqués.

  2. bonjours ,je suis encore un petit peux débutant dans le codage , j’aimerais faire une page d’inscription et une de connexion en php et mysql je dispose d’une base de donnée . merci d’avance pour votre aide .
    ps : j’adore vos vidéo =)

  3. Bocomba William Edouard

    bonjour,

    je suis William un de vos disciple Abidjan. En lisant le code source du site pierre-girraud.fr j’ai constater un bon nombre de balise link et de balise meta. Et je me pose la question de savoir a quoi elle servent? Par ailleurs je suis impatient de savourer la suite du cour sur php et mysql. Merci d’avance et surtout merci pour tout.

    Amicalement

    William

  4. Bonjour,

    Je te remercie de tout mon cœur Pierre!
    Tu consacre ton temps à partager des choses meilleures.
    Je suis débutant mais je croix de devenir pro, tes tutos sont claires et faciles à comprendre.
    Merci infiniement

  5. Salut, c’est vraiment génial ce que tu fais mais j’ai encore un problème, je n’arrive pas a créer un formulaire pour envoyer un mail ou pouvoir communiquez avec moi (pas un bloc mais vraiment une page de contact).
    Merci de bien vouloir m’aider…

    • Bonjour,

      J’explique déjà tout cela dans mes cours HTML / CSS et PhP… Je ne peux donc que vous conseillez de revoir les parties consacrées à cela (lien pour envoyer un fichier / un mail et partie formulaire HTML et PhP).

      Bonne continuation,
      Pierre

  6. Vous etes genial, j’ai vu vos cours sur youtube et votre adresses qui ma poussé avenir sur votre site. Mr pierre je suis un petit zero de la programmation mais suis pas mal j’aimerai vous assistez dans vos taches pour me former…! merci pour les cours suis content

  7. je voudrais que tu m’explique un peut comment fonctionne les fonction static en phph

  8. bonjour
    merci pour ce cours mais je ne vois pas la partie base de données et pourtant l’intitulé c’est cours complet!!!!

  9. Salut Pierre Giraud,

    Je viens de regarder le tuto sur HTML et CSS, c’est magnifique !!!
    Maintenant j’aimerais creer des sites dynamiques avec PHP MySQL.
    Pourriez vous m’aider s’il vous plait. Merci de votre aide en envoyant des tuto tres tres interessant.

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*