grapheme_substr

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

grapheme_substr返回字符串的一部分

描述

过程式风格

grapheme_substr(string $string, int $offset, ?int $length = null): string|false

返回字符串的一部分

参数

string

输入字符串。必须是有效的 UTF-8。

offset

默认 grapheme 单位中的起始位置。如果 offset 为非负数,则返回的字符串将从 string 中的第 offset 个位置开始,从零开始计数。如果 offset 为负数,则返回的字符串将从字符串末尾的第 offset 个 grapheme 单位开始。

length

grapheme 单位中的长度。如果给出 length 并且为正数,则返回的字符串将包含最多 length 个 grapheme 单位,从 offset 开始(取决于字符串的长度)。如果给出 length 并且为负数,则将在字符串末尾省略那么多 grapheme 单位(在计算 offset 为负数时的起始位置后)。如果 offset 指示超出此截断的位置,则将返回空字符串。

返回值

返回 string 的提取部分,或在失败时返回 false

变更日志

版本 描述
8.0.0 该函数现在一致地将超出范围的偏移量限制到字符串边界。以前,在某些情况下会返回 false 而不是空字符串。

示例

示例 #1 grapheme_substr() 示例

<?php

$char_a_ring_nfd
= "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) 规范化形式 "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) 规范化形式 "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

上面的示例将输出

a%CC%8Abco%CC%88

参见

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top