grapheme_stristr

Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack

&reftitle.description;

&style.procedural;

``string``false```grapheme_stristr` `string` `haystack` `string` `needle` `bool` `beforeNeedle`&false;

Returns part of `haystack` string starting from and including the first occurrence of case-insensitive needle to the end of `haystack`.

&reftitle.parameters;

`haystack`

- The input string. Must be valid UTF-8.

`needle`

- The string to look for. Must be valid UTF-8.

`beforeNeedle`

- If &true;, `grapheme_stristr` returns the part of the `haystack` before the first occurrence of the needle (excluding `needle`).

&reftitle.returnvalues;

Returns the portion of `haystack`, or &false; if `needle` is not found.

&reftitle.examples;

### `grapheme_stristr` 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 urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd . $char_a_ring_nfd, $char_O_diaeresis_nfd));

    ?>

&example.outputs;

    o%CC%88a%CC%8A

&reftitle.seealso;

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