1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
<?php
//Manipulation des chaînes de caractères
// Ce petit code pratique pour ceux qui un jour
//auront peut être comme moi besoin de manipuler
// les chaînes de caractères
//Merci à julp pour l'info et à developpez.com pour son efficacité
// Arnaud14
$source = file_get_contents("Base_clients.txt"); //Lecture du fichier texte
$i = 1;
//<!-- Total clients -->
echo '<u>Extraction du nombre de clients</u>';
echo '<p></p>';
$position_1 = strpos("$source", "Total:") +7;
echo 'Le pointeur 1 se trouve au caractère --> '.$position_1;
echo '<br>';
$position_2 = strpos("$source", " µ", $position_1);
echo 'Le pointeur 2 se trouve au caractère --> '.$position_2;
echo '<br>';
$taille_nombre_client = ($position_2 - $position_1);
echo 'La taille de la chaîne est de --> '.$taille_nombre_client, ' caractères';
echo '<br>';
$nombre_clients = substr($source, $position_1, $taille_nombre_client);
echo 'Les clients dans la base sont aux nombre de <u><b>'.$nombre_clients, '</u></b>';
echo '<p></p><p></p>';
// <!-- Date inscription -->
echo '<u>Extraction de la date d\'inscription</u>';
echo '<p></p>';
echo 'La position de départ pour la nouvelle extraction est au caractère n° ' .$position_2, '</u></b>';
echo '<p></p>';
//utilisation du troisieme parametre de la fonction strpos pour indiquer le point de depart pour l'extraction
//le point de depart est donc le resultat de $position_2
//les trois parametres de la fonction strpos sont dans cet exemple
//- 1 - la variable $source qui contient le fichier texte lu en premier
//- 2 - La chaîne de caractère à trouver
//- 3 - La position de départ pour l'extraction
$position_3 = strpos("$source", "Date inscription: ", $position_2) +18;
while ($i <= $nombre_clients): //la boucle qui va bien
echo 'Le pointeur 3 se trouve au caractère --> '.$position_3;
echo '<br>';
$position_4 = strpos("$source", " µ", $position_3);
echo 'Le pointeur 4 se trouve au caractère --> '.$position_4;
echo '<br>';
$taille_inscription = ($position_4 - $position_3);
echo 'La taille de la chaîne est de --> '.$taille_inscription, ' caractères';
echo '<br>';
$inscription = substr($source, $position_3, $taille_inscription);
echo 'Ce client s\'est inscrit le <u><b>'.$inscription, '</u></b>';
echo '<p></p><p></p>';
//<!-- Nom -->
echo '<u>Extraction du nom</u>';
echo '<p></p>';
echo 'La position de départ pour la nouvelle extraction est au caractère n° ' .$position_4;
echo '<p></p>';
$position_5 = strpos("$source", "Nom: ", $position_4) +5;
echo 'Le pointeur 5 se trouve au caractère --> '.$position_5;
echo '<br>';
$position_6 = strpos("$source", " µ", $position_5);
echo 'Le pointeur 6 se trouve au caractère --> '.$position_6;
echo '<br>';
$taille_nom = ($position_6 - $position_5);
echo 'La taille de la chaîne est de --> '.$taille_nom, ' caractères';
echo '<br>';
$nom = substr($source, $position_5, $taille_nom);
echo 'Le nom du client est <u><b>'.$nom, '</u></b>';
echo '<p></p><p></p>';
//<!-- Prenom -->
echo '<u>Extraction du prenom</u>';
echo '<p></p>';
echo 'La position de départ pour la nouvelle extraction est au caractère n° ' .$position_6;
echo '<p></p>';
$position_7 = strpos("$source", "Prenom: ", $position_6) +8;
echo 'Le pointeur 7 se trouve au caractère --> '.$position_7;
echo '<br>';
$position_8 = strpos("$source", " µ", $position_7);
echo 'Le pointeur 8 se trouve au caractère --> '.$position_8;
echo '<br>';
$taille_prenom = ($position_8 - $position_7);
echo 'La taille de la chaîne est de --> '.$taille_prenom, ' caractères';
echo '<br>';
$prenom = substr($source, $position_7, $taille_prenom);
echo 'Le prénom du client est <u><b>'.$prenom, '</u></b>';
echo '<p></p><p></p>';
//<!-- Ages -->
echo '<u>Extraction de l\'age</u>';
echo '<p></p>';
echo 'La position de départ pour la nouvelle extraction est au caractère n° ' .$position_8;
echo '<p></p>';
$position_9 = strpos("$source", "Age: ", $position_8) +5;
echo 'Le pointeur 9 se trouve au caractère --> '.$position_9;
echo '<br>';
$position_10 = strpos("$source", " µ", $position_9);
echo 'Le pointeur 10 se trouve au caractère --> '.$position_10;
echo '<br>';
$taille_age = ($position_10 - $position_9);
echo 'La taille de la chaîne est de --> '.$taille_age, ' caractères';
echo '<br>';
$age = substr($source, $position_9, $taille_age);
echo 'Le client est agé de <u><b>'.$age, '</u></b> ans';
echo '<p></p><p></p>';
//<!-- Profession -->
echo '<u>Extraction de la profession</u>';
echo '<p></p>';
echo 'La position de départ pour la nouvelle extraction est au caractère n° ' .$position_10;
echo '<p></p>';
$position_11 = strpos("$source", "Profession: ", $position_10) +12;
echo 'Le pointeur 9 se trouve au caractère --> '.$position_11;
echo '<br>';
$position_12 = strpos("$source", " µ", $position_11);
echo 'Le pointeur 10 se trouve au caractère --> '.$position_12;
echo '<br>';
$taille_profession = ($position_12 - $position_11);
echo 'La taille de la chaîne est de --> '.$taille_profession, ' caractères';
echo '<br>';
$profession = substr($source, $position_11, $taille_profession);
echo 'La profession du client est <u><b>'.$profession, '</u></b>';
echo '<p></p><p></p>';
echo $prenom, ' ' .$nom, ' ' .$age, ' ans ' .$profession, ' c\'est inscrit le ' .$inscription, '.';
echo '<hr width="25%" align="left" color="050000">';
echo '<p></p><p></p>';
if ($i < $nombre_clients)
{
// <!-- Date inscription -->
echo '<u>Extraction de la date d\'inscription</u>';
echo '<p></p>';
echo 'La position de départ pour la nouvelle extraction est au caractère n° ' .$position_12, '</u></b>';
echo '<p></p>';
$position_3 = strpos("$source", "Date inscription: ", $position_12) +18;
}
else
{
echo "Fin du traitement de la base client.";
}
$i++;
endwhile;
?> |
Partager