grapheme_strripos

Find position (in grapheme units) of last occurrence of a case-insensitive string

&reftitle.description;

&style.procedural;

``int``false```grapheme_strripos` `string` `haystack` `string` `needle` `int` `offset` 0

Find position (in grapheme units) of last occurrence of a case-insensitive string

&reftitle.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). The position returned is still relative to the beginning of `haystack` regardless of the value of `offset`.

&reftitle.returnvalues;

Returns the position as an integer. If `needle` is not found, `grapheme_strripos` will return &false;.

&reftitle.examples;

### `grapheme_strripos` 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"
    $char_O_diaeresis_nfd = "O\xCC\x88"; // 'LATIN CAPITAL LETTER O WITH DIAERESIS' (U+00D6) normalization form "D"

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

    ?>

&example.outputs;

    2

&reftitle.seealso;

- `grapheme_stripos`
- `grapheme_stristr`
- `grapheme_strpos`
- `grapheme_strrpos`
- `grapheme_strstr`
- Unicode Text Segmentation: Grapheme Cluster Boundaries