La fonction strpos retourne la position de la première occurrence d’une chaîne $string2 dans une autre chaîne $string1.
Utilisation de la fonction strpos()
La signature de la fonction strpos est la suivante :
strpos ( $string1 , $string2 );
$string1 = 'Fonction strpos'; $string2 = 'str'; echo (strpos($string1 , $string2 )); /* Affiche : 9 . Cela correspond à la position de la première lettre de $string2 dans $string1. */
NB : si $string2 n’est pas trouvée dans $string1, la fonction strpos retourne false.
Pour tester la présence d’une chaîne dans une autre, il est donc primordial d’utiliser l’opérateur === qui vérifiera en outre le type de la valeur retournée. Car si la chaîne est trouvée et que celle-ci se trouve à la position 0, le test == ne fera pas la différence entre false et 0. La valeur de retour du test pourrait donc être érronée.
$string1 = 'Fonction strpos'; $string2 = 'Fonc'; if ( strpos( $string1 , $string2 ) === false ) echo 'Chaîne non trouvée'; else echo 'La chaîne a été détectée'; /* Affiche : La chaîne a été détectée . Dans cet exemple, la fonction strpos a retourné 0 car la chaîne détectée commence à la position 0 de la chaîne de référence. Le test == aurait donc retourné false. Ici, le test === a en revanche retourné true. Enfin plutôt 0 mais pas false. */
La fonction strrpos retourne quant à elle la position de la dernière occurrence de la chaîne $string2 dans la chaîne $string1.