grapheme_stripos()
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
Find position(in grapheme units)of first occurrence of a case-insensitive string
说明
过程化风格
grapheme_stripos(string $haystack,string $needle[,int $offset= 0]): int
Find position(in grapheme units)of first occurrence of a case-insensitive string
参数
- $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.
返回值
Returns the position as an integer. If needle is not found, grapheme_stripos()will return boolean FALSE.
更新日志
版本 | 说明 |
---|---|
7.1.0 | Support for negative$offsets has been added. |
范例
grapheme_stripos() 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_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd); ?>
以上例程会输出:
2
参见
grapheme_stristr()
Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystackgrapheme_strpos()
Find position(in grapheme units)of first occurrence of a stringgrapheme_strripos()
Find position(in grapheme units)of last occurrence of a case-insensitive stringgrapheme_strrpos()
Find position(in grapheme units)of last occurrence of a stringgrapheme_strstr()
Returns part of haystack string from the first occurrence of needle to the end of haystack- » Unicode Text Segmentation: Grapheme Cluster Boundaries
As expected, grapheme_stripos() does return boolean FALSE if the needle is not found in the haystack. Use strict type comparison to check for that condition, like: if (FALSE === grapheme_stripos('a', 'b')) {print 'Needle not found';}