grapheme_strpos
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_strpos — Find position (in grapheme units) of first occurrence of a string
Description
Procedural style
$haystack, string $needle, int $offset = 0): int|falseFind position (in grapheme units) of first occurrence of a string
Parameters
-
haystack -
The string to look in. Must be valid UTF-8.
-
needle -
The string to look for. Must be valid UTF-8.
-
offset -
The optional
offsetparameter allows you to specify where inhaystackto start searching as an offset in grapheme units (not bytes or characters). If the offset is negative, it is treated relative to the end of the string. The position returned is still relative to the beginning ofhaystackregardless of the value ofoffset.
Return Values
Returns the position as an integer. If needle is not found, grapheme_strpos() will return false.
Changelog
| Version | Description |
|---|---|
| 7.1.0 |
Support for negative offsets has been added.
|
Examples
Example #1 grapheme_strpos() example
<?php
$char_a_ring_nfd = "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
print grapheme_strpos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_o_diaeresis_nfd);
?>
The above example will output:
2
See Also
- grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
- grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
- grapheme_strripos() - Find position (in grapheme units) of last occurrence of a case-insensitive string
- grapheme_strrpos() - Find position (in grapheme units) of last occurrence of a string
- grapheme_strstr() - Returns part of haystack string from the first occurrence of needle to the end of haystack
- » Unicode Text Segmentation: Grapheme Cluster Boundaries

