grapheme_substr

(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
Return part of a string
int grapheme_substr ( string $string, int $start [, int $length ] )

Procedural style

Return part of a string

Parameters:
string

The input string. Must be valid UTF-8.

start

Start position in default grapheme units. If $start is non-negative, the returned string will start at the $start'th position in $string, counting from zero. If $start is negative, the returned string will start at the $start'th grapheme unit from the end of string.

length

Length in grapheme units. If $length is given and is positive, the string returned will contain at most $length grapheme units beginning from $start (depending on the length of string). If $length is given and is negative, then that many grapheme units will be omitted from the end of string (after the start position has been calculated when a start is negative). If $start denotes a position beyond this truncation, FALSE will be returned.

Returns:

Returns the extracted part of $string.

Changelog:
5.4

If length is given and positive and the argument string is shorter than the specified length, all the rest of the string according to start parameter is returned. Previously, FALSE was returned.

Examples:
grapheme_substr() 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_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

See also:

grapheme_extract() -

» Unicode Text Segmentation: Grapheme Cluster Boundaries -

doc_php
2016-02-24 15:58:06
Comments
Leave a Comment

Please login to continue.