<?php $titre="Mes Premiers Pas : Traitements sur les chaînes"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php echo "<title>$titre</title>"; ?> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" /> <link media="screen" type="text/css" href="template/css/style.css" rel="stylesheet" /> </head> <body> <?php echo "<h2 align=\"center\" style=\"color: blue;\">$titre</h2>"; ?> <?php /*=========================================================== * Cours : INITIATION PHP & MySQL * * =========================================================== * Auteur : Marc VARLET * Créé le 23/03/2006 * * Description : Suite d'exercices permettant de faire ses premiers pas en PHP * */ $n=1; /* ========================== LES CHAINES DE CARACTERES ========================================= Rappels : Fonction Résultat x addcslashes Ajoute des slashes dans une chaîne, à la mode du langage C x addslashes Ajoute des anti-slashs dans une chaîne bin2hex Convertit des données binaires en représentation hexadécimale chop Alias de rtrim() x chr Retourne un caractère spécifique x chunk_split Scinde une chaîne convert_cyr_string Convertit une chaîne d'un jeu de caractères cyrillique à l'autre count_chars Retourne des statistiques sur les caractères utilisés dans une chaîne crc32 Calcule la somme de contrôle CRC32 x crypt Chiffrage indéchiffrable (hashing) x echo Affiche une chaîne de caractères x explode Coupe une chaîne en segments fprintf Ecrit une chaîne formatée dans un flux get_html_translation_table Retourne la table de traduction des entités utilisée par htmlspecialchars() et htmlentities() hebrev Convertit un texte logique hébreux en texte visuel hebrevc Convertit un texte logique hébreux en texte visuel, avec retours à la ligne x html_entity_decode Convertit toutes les entités HTML en caractères normaux x htmlentities Convertit tous les caractères éligibles en entités HTML htmlspecialchars Convertit les caractères spéciaux en entités HTML x implode Rassemble les éléments d'un tableau en une chaîne x join Rassemble les éléments d'un tableau en une chaîne levenshtein Calcule la distance Levenshtein entre deux chaînes localeconv Lit la configuration locale x ltrim Supprime les caractères invisibles de début de chaîne x md5_file Calcule le md5 d'un fichier x md5 Calcule le md5 d'une chaîne metaphone Calcule la clé métaphone x money_format Met un nombre au format monétaire nl_langinfo Rassemble des informations sur la langue et la configuration locale. nl2br Insère un retour à la ligne HTML à chaque nouvelle ligne number_format Formate un nombre pour l'affichage ord Retourne le code ASCII d'un caractère x parse_str Analyse une requête HTTP x print Affiche une chaîne de caractères printf Affiche une chaîne de caractères formattée quoted_printable_decode Convertit une chaîne quoted-printable en chaîne 8 bits quotemeta Echappe les méta-caractères x rtrim Supprime les espaces de fin de chaîne setlocale Modifie les informations de localisation sha1_file Calcule le sha1 d'un fichier sha1 Calcule le sha1 d'une chaîne de caractères similar_text Calcule la similarité de deux chaînes soundex Calcule la clé soundex sprintf Retourne une chaîne formattée sscanf Analyse une chaîne à l'aide d'un format x str_ireplace Version insensible à la casse de str_replace() str_pad Complète une chaîne jusqu'à une taille donnée x str_repeat Répéte une chaîne x str_replace Remplace toutes les occurrences dans une chaîne str_rot13 Effectue une transformation rot13 str_shuffle Mélange les caractères d'une chaîne de caractères x str_split Convertit une chaîne de caractères en tableau x str_word_count Compte le nombre de mots utilisés dans une chaîne strcasecmp Comparaison de chaînes binaires x strchr Trouve la première occurence d'un caractère dans une chaîne strcmp Comparaison binaire de chaînes strcoll Comparaison de chaînes localisée strcspn Trouve un segment de chaîne ne contenant pas certains caractères x strip_tags Supprime les balises HTML et PHP d'une chaîne x stripcslashes Supprime les anti-slash d'une chaîne C x stripos Rercherche la position d'une occurence dans une chaîne, sans tenir compte de la casse x stripslashes Supprimer les anti-slash d'une chaîne x stristr Trouve la première occurence dans une chaîne (insensible à la casse) x strlen Calcule la taille d'une chaîne strnatcasecmp Comparaison de chaînes avec l'algorithme d'"ordre naturel" (insensible à la casse) strnatcmp Comparaison de chaînes avec l'algorithme d'"ordre naturel" strncasecmp Compare en binaire des chaînes de caractères strncmp Comparaison binaire des n premiers caractères x strpos Trouve la position d'un caractère dans une chaîne strrchr Retourne la fin de la chaîne x strrev Inverse une chaîne strripos Trouve la position de la dernière occurence d'une chaîne dans une autre de façon insensible à la casse. strrpos Trouve la position de la dernière occurence d'un caractère dans une chaîne strspn Trouve le premier segment de chaîne strstr Trouve la première occurence dans une chaîne strtok Coupe une chaîne en segments x strtolower Renvoie une chaîne en minuscules x strtoupper Renvoie une chaîne en majuscules x strtr Remplace des chaînes dans une chaîne substr_compare Compare 2 chaînes depuis un offset jusqu'à une longueur en caractères substr_count Compte le nombre d'occurrences de segments dans une chaîne substr_replace Remplace un segment dans une chaîne x substr Retourne un segment de chaîne x trim Supprime les espaces en début et fin de chaîne ucfirst Met le premier caractère en majuscule ucwords Met en majuscule la première lettre de tous les mots vprintf Affiche une chaîne formatée vsprintf Retourne une chaîne formatée wordwrap Effectue la césure d'une chaîne */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 1 echo "<b>Exercice n° $n : </b><br />\n"; /* -- Question : Transformez la chaîne écrite suivante de casses différentes afin que chaque mot ait une initiale en majuscule. $ch="TransFOrmeZ unE ChaîNE écRITe dans des cASses diFFéreNTes afiN qUe chAQue MOT ait une inITiale en MAJUSCULE"; */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 2 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : En utilisant la fonction strlen() écrivez une boucle qui affiche chaque lettre de la chaîne PHP 5 sur une ligne différente. */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 3 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : Formatez l’affichage d’une suite de chaînes contenant des nom et prénom en respectant les critères suivants : un prénom et un nom par ligne affichés sur 20 caractères; toutes les initiales des mots doivent se superposer verticalement. */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 4 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : Utilisez les fonctions adéquates afin que la chaîne <form action="script.php"> soit affichée telle quelle et non comme du code HTML. */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 5 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : À partir de deux chaînes quelconques contenues dans des variables, effectuez une comparaison entre elles pour pouvoir les afficher en ordre alphabétique naturel. Nous utilisons la fonction strtolower() avant d’opérer la comparaison, sinon tous les caractères de A à Z sont avant les caractères a à z. */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 6 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : Effectuez une censure sur des textes en n’affichant pas ceux qui contiennent le mot zut. $ch="Zut je me suis trompé"; */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 7 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : Créez une fonction de validation d’une adresse HTTP ou FTP */ // -------------------------------------------------------------------------------------------------------------------------------------- // -- Exercice n° 8 $n++; echo "<br /><b>Exercice n° $n : </b><br />\n"; /* -- Question : Créez une expression régulière pour valider un âge inférieur à 100 ans. */ // -------------------------------------------------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------------------------------------------------- echo "\n"; ?> </body> </html>
function transforme($chaine) { $ch1 = strtolower($chaine); $ch2 = ucwords($ch1); echo '<p>'.$ch2.'</p>'; } transforme($ch);
function affiche($chaine) { $taille = strlen($chaine); for($i=0; $i<=$taille; $i++) { echo '<br />'.substr($chaine,$i,1); } } affiche("PHP 5");
function change($chaine) { $val = htmlentities($chaine); echo '<p>'.$val.'</p>'; } change('<form action="script.php">');