PHP Conference Nagoya 2025

grapheme_stripos

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_striposTrouve la position en graphème de la première occurrence dans une chaîne, insensible à la casse

Description

Style procédural

grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|false

Trouve la position en graphème de la première occurrence dans une chaîne, en effectuant une recherche insensible à la casse.

Liste de paramètres

haystack

La chaîne à étudier. Elle doit être au format UTF-8 valide.

needle

La chaîne à rechercher. Elle doit être au format UTF-8 valide.

offset

Le paramètre offset permet de spécifier la position dans la haystack de début de recherche, exprimée en graphème (et non pas en octets ou caractères). Si l'offset est négatif, il est traité par rapport à la fin de la chaîne de caractères. La position retournée est toujours donnée par rapport au début de haystack, quelque soit la valeur de offset.

Valeurs de retour

Retourne la position, sous forme d'un entier. Si needle n'est pas trouvé, grapheme_stripos() retourne false.

Historique

Version Description
7.1.0 Ajout du support des offsets négatifs.

Exemples

Exemple #1 Exemple avec grapheme_stripos()

<?php

$char_a_ring_nfd
= "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) forme normalisée "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) forme normalisée "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) forme normalisée "D"

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

L'exemple ci-dessus va afficher :

2

Voir aussi

add a note

User Contributed Notes 1 note

up
0
Anonymous
6 years ago
As expected, grapheme_stripos() does return boolean FALSE if the needle is not found in the haystack.
Use strict type comparison to check for that condition, like:

if (FALSE === grapheme_stripos('a', 'b')) {print 'Needle not found';}
To Top