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

# grapheme_strstr

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

grapheme_strstr — Returns part of haystack string from the first occurrence of needle to the end of haystack

### Description

Procedural style

grapheme_strstr(
string `$haystack`,
string `$needle`,
bool `$beforeNeedle` = `false`,
string `$locale` = ""
): string|false

Returns part of haystack string from the first occurrence of needle to the end of haystack (including the needle).

### 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_strstr() returns the part of the `haystack` before the first occurrence of the `needle` (excluding the `needle`).

`locale`
  Locale to use.

### Return Values

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

### Changelog

Version | Description
--- | ---
8.5.0 | The optional parameter `locale` has been added.

### Examples

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

The above example will output:

    o%CC%88a%CC%8A

### See Also

- grapheme_stristr() - Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack
- grapheme_stripos() - Find position (in grapheme units) of first occurrence of a case-insensitive string
- grapheme_strpos() - Find position (in grapheme units) of first occurrence of a string
- 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
- » Unicode Text Segmentation: Grapheme Cluster Boundaries

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open