International PHP Conference Berlin 2025

grapheme_strpos

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

grapheme_strposFind position (in grapheme units) of first occurrence of a string

Description

Procedural style

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

Find 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 offset parameter allows you to specify where in haystack to 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 of haystack regardless of the value of offset.

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top