Leçon N° 16 : Fonctions de manipulations de texte
Fonction strrpos () Retourne la position de la dernière occurence d'une chaine dans une autre UTF8 ISO¤
Notes de page
Source: lesson_16_function_strrpos.phpRésultat
<?php  /*  strrpos
int  strrpos ( string  haystack, string  needle, int offset)
strrpos retourne la position numérique de la dernière occurrence
du caractère needle dans la chaîne haystack . 
Needle doit être un caractère unique en PHP 4. 
Si une chaîne est passée dans ce paramètre, seul le premier 
caractère sera utilisé.
Attention si vous avez des caratères accentués dans une chaine en UTF8
le comptage des caractères sera faux (jusquen PHP6 ?) */ 
?>
<h3>Chaine en UTF_8 : <br>le comptage des caractères est faux </h3>
<?php
$maChaine 
"biscuit à la crème";
show_strrpos($maChaine ) ;
echo 
"Note : ligne 4 : le <b>à</b> est en UTF8, 
ligne 5 : le <b>à</b> est en ISO"
;
?>
<h3>Chaine en ISO : <br>le comptage des caractères est bon </h3>
<?php
$maChaine 
utf8_decode("biscuit à la crème");
show_strrpos($maChaine ) ;
echo 
"Note : ligne 4 : à est en UTF8, ligne 5 : le à est en ISO";

function 
show_strrpos($maChaine )
{
    
$maChaine_utf8 "biscuit à la crème";
    
$monCar[1] = "i";
    
$monCar[2] = "x";
    
$monCar[3] = "b";
    
$monCar[4] = "à";
    
$monCar[5] = utf8_decode("à");
    
$monCar[6] = "a";
    
$monCar[7] = "chariot";
    echo 
"<table cellpadding=3><tr>
        <th>N°</th>
        <th>Chaîne</th>
        <th>Car</th>
          <th>strpos<br />(Chaîne,car)</th>
        <th>strrpos<br />(Chaîne,car)</th></tr><tr>"
;
    for (
$i=$i<$i++)
    {
      echo 
"<td class=params>$i</td>
            <td class=inputs>
$maChaine_utf8</td>
            <td align=center class=params>"
;
      (
$i==5)? print utf8_encode($monCar[$i]) : print $monCar[$i] ;
      echo 
"</td>
      <td align=center class=outputs>"
.
        
strpos($maChaine,$monCar[$i])."</td>
      <td align=center class=outputs>"
.
        
strrpos($maChaine,$monCar[$i])."</td></tr><tr>";
    }
    echo 
"</table>";
}

Chaine en UTF_8 :
le comptage des caractères est faux

Chaîne Car strpos
(Chaîne,car)
strrpos
(Chaîne,car)
1 biscuit à la crème i 1 5
2 biscuit à la crème x
3 biscuit à la crème b 0 0
4 biscuit à la crème à 8 8
5 biscuit à la crème à
6 biscuit à la crème a 12 12
7 biscuit à la crème chariot
Note : ligne 4 : le à est en UTF8, ligne 5 : le à est en ISO

Chaine en ISO :
le comptage des caractères est bon

Chaîne Car strpos
(Chaîne,car)
strrpos
(Chaîne,car)
1 biscuit à la crème i 1 5
2 biscuit à la crème x
3 biscuit à la crème b 0 0
4 biscuit à la crème à
5 biscuit à la crème à 8 8
6 biscuit à la crème a 11 11
7 biscuit à la crème chariot
Note : ligne 4 : à est en UTF8, ligne 5 : le à est en ISO

Tous droits réservés. 2005-2020