Le traitement de cha ne de caract re
Sponsored Links
This presentation is the property of its rightful owner.
1 / 44

Le traitement de chaîne de caractère PowerPoint PPT Presentation


  • 29 Views
  • Uploaded on
  • Presentation posted in: General

Le traitement de chaîne de caractère. Mettre en forme. Examiner. Manipuler. printf(). Spécificateurs ... de type. ... de remplissage. ... de larqeur. ... de précision. Les fonctions printf() et sprintf.

Download Presentation

Le traitement de chaîne de caractère

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Les fonctions printf() et sprintf

La fonction printf() formate le contenu d'une chaîne de caractère à l'aide d'instructions appelées spécifications de conversion.

Les données reformatées sont présentées dans la chaîne de caractère par un symbole "%" et sont fournis en argument dans l'ordre où elles apparaissent dans la chaîne.

printf("ma %s de %s", "chaine", "caractère");//Renvoie "ma chaine de caractère"

sprintf() permet de reformater une chaine puis de la placer dans une variable sans qu'elle apparaissent à l'écran:

$nvChaine = sprintf ("ma %s de %s", "chaine", "caractère");

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Les spécificateurs de type

Les spécificateurs de type - obligatoires après le % - permettent de forcer la conversion de la variable dans le type indiqué.

Spécificateur Description

c équivalent ASCII d'un entier

d Décimal

f Double

s Chaîne

b Binaire

o Octal

x Hexadécimal

X Hexadécimal en majuscule

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Les spécificateurs de type

Exemple :

$i = 123; print "$i vaut : ";

printf ("%c comme lettre\n", $i); //Renvoi "{"

printf ("%f comme décimal\n", $i); //Renvoi 123.000000

printf ("%s comme chaîne\n", $i); //Renvoi "123"

printf ("%b comme binaire\n", $i); //Renvoi 1111011

printf ("%o comme octal\n", $i); //Renvoi 173

printf ("%X comme hexadécimal\n", $i);//Renvoi 7B

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Les spécificateurs de remplissage

Cet indicateur facultatif permet d'indiquer le caractère de remplissage à utiliser pour obtenir une chaîne de longueur fixe.

Les caractères " " et "0" sont facilement disponibles.

Les autres lettres sont disponibles précédées d'un " ' ".

Le spécificateur de remplissage se place entre le % et le spécificateur de type:

Exemple :

printf ("%08s", 123); //Renvoi "00000123"

printf ("% 8s", 123); //Renvoi "     123"

printf ("%'a8s", 123);//Renvoi "aaaaa123"

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Les spécificateurs de largeur

Cet indicateur facultatif permet d'indiquer le nombre minimal de caractères que doit occuper le champ. Si ce nombre est positif, il sera aligné à gauche, s'il est négatif, il sera aligné à droite.

Exemple :

printf ("%-30s", "Alignement à gauche <BR>");

printf ("%30s", "Alignement à droite");

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Les spécificateurs de précision

Disponible uniquement pour les nombres à virgule, il permet de mentionner le nombre de chiffres à afficher après la virgule.

Exemple :

printf ("%.3f", 5.14196); //Renvoi 5.142

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Exercice 1

Soit un tableau :

$produits = array ("Salade"=>"1.15",                     "Baguette"=>"1.00",                    "Lardons"=>0.9);

Faites en sorte (à l'aide de printf()) qu'il s'affiche de la manière suivante (on a pris pour largeur 40 caractères tout inclus):

Nom Prix

----------------------------------------

Salade 1.15

Baguette 1.00

Lardons 0.90

Pensez à utiliser les balises <PRE> et </PRE> pour forcer la page HTML à utiliser une chasse fixe.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Exercice 1

Soit un tableau :

$produits = array ("Salade"=>"1.15",                     "Baguette"=>"1.00",                    "Lardons"=>0.9);printf ("%-20s%20s\n", "Nom", "Prix");

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Exercice 1

Soit un tableau :

$produits = array ("Salade"=>"1.15",                     "Baguette"=>"1.00",                    "Lardons"=>0.9);printf ("%-20s%20s\n", "Nom", "Prix");

printf ("%'-40s\n", "");

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Exercice 1

Soit un tableau :

$produits = array ("Salade"=>"1.15",                     "Baguette"=>"1.00",                    "Lardons"=>0.9);printf ("%-20s%20s\n", "Nom", "Prix");

printf ("%'-40s\n", "");

 printf ("%-20s%20.2f\n", $clef, $valeur);

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

printf()

Spécificateurs ... de type

... de remplissage

... de larqeur

... de précision

Exercice 1

Soit un tableau :

$produits = array ("Salade"=>"1.15",                     "Baguette"=>"1.00",                    "Lardons"=>0.9);printf ("%-20s%20s\n", "Nom", "Prix");

printf ("%'-40s\n", "");

foreach ($produits as $clef=>$valeur)

{

 printf ("%-20s%20.2f\n", $clef, $valeur);

}

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Déterminer la longueur d'une chaîne

strlen ($chaine)

$chaine = "Un Baudet chargé de reliques, S'imagina qu'on l'adorait.";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Déterminer la longueur d'une chaîne

strlen ($chaine)

$chaine = "Un Baudet chargé de reliques, S'imagina qu'on l'adorait.";

print "Cette chaine comporte ".strlen($chaine)." caractères.";

//Renvoi 56

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Extraire une chaîne à partir de …

strstr ($chaine, "toto")

Cette fonction permet de rechercher la sous-chaîne "toto" dans $chaine. Cette fonction renvoie 0 si la sous-chaîne n'est pas trouvée, sinon elle renvoie la partie de $chaine qui débute avec la sous-chaîne.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Extraire une chaîne à partir de …

strstr ($chaine, "toto")

Cette fonction permet de rechercher la sous-chaîne "toto" dans $chaine. Cette fonction renvoie 0 si la sous-chaîne n'est pas trouvée, sinon elle renvoie la partie de $chaine qui débute avec la sous-chaîne.

$chaine = "Un Baudet chargé de reliques, S'imagina qu'on l'adorait.";

print strstr($chaine, "ag");

//Renvoi "agina qu'on l'adorait."

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Extraire une chaîne à partir de …

substr ($chaine, début_recherche [, longueur])

Cette fonction retourne une sous-chaîne extraite de $chaine à partir de la position debut_recherche et, si vous utilisez l'argument facultatif, sur une longueur de longueur caractères.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Extraire une chaîne à partir de …

substr ($chaine, début_recherche [, longueur])

Cette fonction retourne une sous-chaîne extraite de $chaine à partir de la position debut_recherche et, si vous utilisez l'argument facultatif, sur une longueur de longueur caractères.

print substr ($chaine, -8, 4);

//Renvoi "ador"

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Rechercher une chaîne dans …

strpos ($chaine, "toto" [, début_recherche])

Cette fonction retourne la position de la sous-chaîne "toto" dans $chaine.

Elle admet un troisième argument facultatif, qui permet de préciser l'endroit à partir duquel vous souhaitez démarrer la recherche.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Rechercher une chaîne dans …

strpos ($chaine, "toto" [, début_recherche])

Cette fonction retourne la position de la sous-chaîne "toto" dans $chaine.

Elle admet un troisième argument facultatif, qui permet de préciser l'endroit à partir duquel vous souhaitez démarrer la recherche.

print strpos ($chaine, "ag");

//Renvoi 34

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Morceller une chaîne avec …

strtok ($chaine, délimiteurs)

Cette fonction morcelle $chaine à chaque fois qu'un caractère des caractères délimiteurs est trouvé (il peut y en avoir plusieurs). En vous basant sur le caractère espace, vous pouvez ainsi diviser une chaîne en autant d'éléments qu'il y a de mots.

On peut passer en argument plusieurs caractères délimiteurs.

$delimitateur = " ";$mot = strtok ($chaine, $delimitateur); while (is_string($mot)){ if ($mot) //Permet d'éliminer les espaces doubles  print "$mot"; $mot = strtok($delimitateur);}

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Morceller une chaîne avec …

$tableau = explode (delimiteur, $chaine)

Cette fonction fait la même chose que strtok() à ceci près que chaque élément récupéré est mis dans un tableau.

$delimitateur = " ";

$tableau = explode ($delimitateur, $chaine);

print_r($tableau);

Attention : contrairement à toutes les fonctions vues jusqu'ici, explode() attend $chaine en second argument.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Exercice 2

Retirez et affichez les paires nom=valeur de l'url suivante :

$chaine="http://www.ici.org/index.php,?user=toto&mdp=facile&age=22&page=223";

Attention: souvenez vous que strtok peut recevoir plusieurs séparateurs en argument.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Exercice 2

Retirez et affichez les paires nom=valeur de l'url suivante :

$chaine="http://www.ici.org/index.php,?user=toto&mdp=facile&age=22&page=223";

Retirez et affichez les paires nom=valeur de l'url suivante :

$delimitateur = "&?";

$mot = strtok ($chaine, $delimitateur);

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Exercice 2

Retirez et affichez les paires nom=valeur de l'url suivante :

$chaine="http://www.ici.org/index.php,?user=toto&mdp=facile&age=22&page=223";

Retirez et affichez les paires nom=valeur de l'url suivante :

$delimitateur = "&?";

$mot = strtok ($chaine, $delimitateur);

while (is_string($mot))

{

}

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

strlen()

strstr()

substr()

strpos()

strtok()

Exercice 2

Retirez et affichez les paires nom=valeur de l'url suivante :

$chaine="http://www.ici.org/index.php,?user=toto&mdp=facile&age=22&page=223";

Retirez et affichez les paires nom=valeur de l'url suivante :

$delimitateur = "&?";

$mot = strtok ($chaine, $delimitateur);

while (is_string($mot))

{

 if ($mot)

  print "$mot<BR>";

 $mot = strtok($delimitateur);

}

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

ltrim(), trim() et rtrim()/chop()

Php dispose des fonctions trim standards qui permettent de supprimer les espaces et caractères de présentation: \n \t, etc.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

ltrim(), trim() et rtrim()/chop()

Php dispose des fonctions trim standards qui permettent de supprimer les espaces et caractères de présentation: \n \t, etc.

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print ltrim ($chaine);

//Renvoi "GauThIer marIe , Voyages en vapeur, slnd. "

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

ltrim(), trim() et rtrim()/chop()

Php dispose des fonctions trim standards qui permettent de supprimer les espaces et caractères de présentation: \n \t, etc.

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print ltrim ($chaine);

//Renvoi "GauThIer marIe , Voyages en vapeur, slnd. "

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print trim ($chaine);

//Renvoi "GauThIer marIe , Voyages en vapeur, slnd."

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

ltrim(), trim() et rtrim()/chop()

Php dispose des fonctions trim standards qui permettent de supprimer les espaces et caractères de présentation: \n \t, etc.

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print ltrim ($chaine);

//Renvoi "GauThIer marIe , Voyages en vapeur, slnd. "

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print trim ($chaine);

//Renvoi "GauThIer marIe , Voyages en vapeur, slnd."

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print chop ($chaine);

//Renvoi " GauThIer marIe , Voyages en vapeur, slnd."

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

str_replace()

str_replace (chaine_rechercher, chaine_remplacement, $chaine)

Cette fonction remplace toutes les occurences de chaine_rechercher par chaine_remplacement dans la chaîne $chaine.

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd. ";

print str_replace ("e", "a", $chaine);

//Renvoi " GauThIar marIa , Voyagas an vapaur, slnd. "

Attention : contrairement à toutes les fonctions vues jusqu'ici, str_replace() attend la chaîne en dernier argument.

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Modifier la casse de manière globale

strtoupper ($chaine)

Cette fonction transforme $chaine en majuscule.

print strtoupper ($chaine);

//Renvoi " GAUTHIER MARIE , VOYAGEURS EN VAPEUR, SLND. "

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Modifier la casse de manière globale

strtoupper ($chaine)

Cette fonction transforme $chaine en majuscule.

print strtoupper ($chaine);

//Renvoi " GAUTHIER MARIE , VOYAGEURS EN VAPEUR, SLND. "

strtolower ($chaine)

Cette fonction transforme $chaine en minuscule.

print strtolower ($chaine);

//Renvoi " gauthier marie , voyages en vapeur, slnd. "

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Modifier la casse de manière spécifique (pour mémoire)

ucfirst ($chaine)

Cette fonction met la première lettre de $chaine en majuscule.

print ucfirst ($chaine);

//Renvoi " GauThIer marIe , Voyages en vapeur, slnd. "

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Modifier la casse de manière spécifique (pour mémoire)

ucfirst ($chaine)

Cette fonction met la première lettre de $chaine en majuscule.

print ucfirst ($chaine);

//Renvoi " GauThIer marIe , Voyages en vapeur, slnd. "

ucwords ($chaine)

Cette fonction met la première lettre de chaque mot de $chaine en majuscule.

print ucwords ($chaine);

//Renvoi " GauThIer MarIe , Voyages En Vapeur, Slnd. "

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

Récupérez dans la chaîne :

" \t\tGauThIer marIe , Voyages en vapeur, slnd. "

le nom et le prénom de l'auteur et présentez les de la manière suivante :

DELACROIX (Eugène).

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

//$tab[0] contient GauThIer

//$tab[1] contient marIe

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

$tab[0] = strtoupper($tab[0]); //GAUTHIER

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

$tab[0] = strtoupper($tab[0]);

$tab[1] = "(".ucwords(strtolower($tab[1])).")";

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

$tab[0] = strtoupper($tab[0]);

$tab[1] = "(".ucwords(strtolower($tab[1])).")"; // (Marie)

print "Apres: $chaine";

AULAS - 2007


Le traitement de chaîne de caractère

Mettre en forme

Examiner

Manipuler

Nettoyer

Remplacer

Modifier la casse

Exercice 3

$chaine = " \t\tGauThIer marIe , Voyages en vapeur, slnd.";

print "Avant: $chaine<BR>";

$tab = explode(" ",trim(substr($chaine,0,strpos($chaine,","))));

$tab[0] = strtoupper($tab[0]);

$tab[1] = "(".ucwords(strtolower($tab[1])).")";

$chaine = $tab[0]." ".$tab[1]; print "Apres: $chaine";

AULAS - 2007


  • Login