Leçon N° 16 : Fonctions de manipulations de texte
Fonction printf($chaîne,paramètres) Affiche une chaîne formatée selon les paramètres¤
Notes de page
Source: lesson_16_function_printf.phpRésultat
<?php  /* string sprintf  ( string $format  [, mixed $args  [, mixed $...  ]] )
retourne une chaîne formatée, avec le format format , en utilisant les arguments args . */
echo "<h4>Une seule commande: printf(paramètres,chaîne)</h4>";
$chaine_in    "Lundi";
$remplisseur  ".";
$alignement   "-";
$taille       20;
$précision    "";
$type         ="s";
myPrintf($chaine_in,$remplisseur,$alignement,$taille,$précision,$type) ;
echo 
"<p></p>";

$chaine_in    "Mardi";
$remplisseur  "_";
$alignement   "";
$taille       15;
$précision    "";
$type         ="s";
myPrintf($chaine_in,$remplisseur,$alignement,$taille,$précision,$type) ;
echo 
"<p></p>";

$chaine_in    3.14116;
settype($chaine_in"float");
$remplisseur  "";
$alignement   "";
$taille       "";
$précision    ".2";
$type         ="f";
myPrintf($chaine_in,$remplisseur,$alignement,$taille,$précision,$type) ;
//-----------------------------------------------------------------
echo "<p><hr></p>";
echo 
"<h4>Plusieurs commandes de format dans une chaine <br/>
  pratique pour formatter un extrait de base de donnée</h4>"
;

$chaine_in    "Il y a %d livres ecrits par %'.10s";
$param_1      15 ;
$param_2      "Coelho";
myPrintf_2($chaine_in,$param_1,$param_2);
//
$chaine_in    "Il y a %d articles dans le rayon %s";
$param_1      124 ;
$param_2      "«jouets»";
myPrintf_2($chaine_in,$param_1,$param_2);
    echo 
"</table>";

//----------------------------------------------------------
function myPrintf($chaine_in,$remplisseur,
    
$alignement,$taille,$précision,$type)
{
    echo 
"<table class=fly><tr>
    <th  class=params rowspan=2>Paramètres</th>
    <th class=params>Align.</th>
    <th class=params>Remplis.</th>
    <th class=params>Taille</th>
    <th class=params>Précis.</th>
    <th class=params>Type</th></tr>"
;
  echo 
"<tr>
    <td class=params>
$alignement</td>
    <td class=params>
$remplisseur</td>
    <td class=params>
$taille</td>
    <td class=params>
$précision</td>
    <td class=params>
$type</td></tr>
  <tr>
    <th class=inputs>Entrée</th>
    <td class=inputs colspan=5>
$chaine_in</td></tr>
  <tr>
    <th class=outputs>Sortie</th><td class=outputs colspan=5>"
;
    if (
$précision)
        
$params "%".$alignement.$remplisseur.$taille.$précision.$type;
    else
        
$params "%".$alignement."'".$remplisseur.$taille.$type;        

    
printf($params$chaine_in);
    echo 
"</td></tr><tr>";
  echo 
"</table>";
}
//------------------------------------
function myPrintf_2($chaine_in,$param_1,$param_2)
{
echo 
"<table  class=fly><tr>
    <th  class=params rowspan=2>Paramètres</th>
    <th  class=params >Param_1</th>
    <th  class=params >Param_2</th></tr>
  <tr>
    <td class=params  >
$param_1</td>
    <td class=params  >
$param_2</td></tr><tr>
    <td class=inputs  >Entrée</td>
    <td class=inputs   colspan=8>
$chaine_in</td></tr><tr>
    <td class=outputs  >Sortie</td>
  <td class=outputs   colspan=8>"
;
    
printf($chaine_in,$param_1,$param_2);
    echo 
"</td></tr><tr>";
  echo 
"</table>";
}

Une seule commande: printf(paramètres,chaîne)

Paramètres Align. Remplis. Taille Précis. Type
- . 20 s
Entrée Lundi
SortieLundi...............

Paramètres Align. Remplis. Taille Précis. Type
_ 15 s
Entrée Mardi
Sortie__________Mardi

Paramètres Align. Remplis. Taille Précis. Type
.2 f
Entrée 3.14116
Sortie3.14


Plusieurs commandes de format dans une chaine
pratique pour formatter un extrait de base de donnée

Paramètres Param_1 Param_2
15 Coelho
Entrée Il y a %d livres ecrits par %'.10s
Sortie Il y a 15 livres ecrits par ....Coelho
Paramètres Param_1 Param_2
124 «jouets»
Entrée Il y a %d articles dans le rayon %s
Sortie Il y a 124 articles dans le rayon «jouets»

Tous droits réservés. 2005-2020