• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • iconv_substr()

    (PHP 5, PHP 7)

    截取字符串的部分

    说明

    iconv_substr(string $str,int $offset[,int $length= iconv_strlen($str,$charset)[,string $charset= ini_get("iconv.internal_encoding")]]): string

    根据$offset$length参数指定$str截取的部分。

    参数

    $str

    原始字符串。

    $offset

    如果$offset是非负数,iconv_substr()$str开头第$offset个字符开始截出部分,从 0 开始计数。

    如果$offset是负数,iconv_substr()$str末尾向前$offset个字符开始截取。

    $length

    如果指定了$length并且是正数,返回的值从$offset截取部分,最多包含$length个字符(取决于$string的长度)。

    如果传入了负数的$lengthiconv_substr()将从第$offset个字符到离末尾$length个字符截出$str的部分。如果$offset也是负数,则开始位置计算规则的解释见以上。

    $charset

    如果省略了参数$charset$string的编码被认定为iconv.internal_encoding。

    注意,$offset$length参数总是被认为字符表现的偏移,基于$charset检测到的字符集进行统计计算,而相对应的substr()则是基于字节的位移来计算。

    返回值

    返回$offset$length参数指定的$str的部分。

    如果$str$offset字符数更短,将会返回FALSE。如果$str$offset个字符的长度,将返回空字符串。

    更新日志

    版本说明
    7.0.11如果$str等长于$offset个字符,将返回空字符串。之前的版本里,这种情况是会返回FALSE的。

    参见

    just fyi, iconv_substr() unknown error (0) has been resolved in PHP 5.2
    you can also try mb_substr() or just substr() when dealing with this issue. Unfortunately there is no way to fix it in versions prior to 5.2.
    Regards,
    Teodor Sandu
    <?=
    iconv_substr("A",0,1);
    ?>
    generates folowing error:
    Notice: iconv_substr() [function.iconv-substr]: Unknown error (0) in [...]
    while, <?= iconv_substr("AB",0,1) ?> and <?= iconv_substr("AB",0,2) ?>
    work as expected.

    上篇:iconv_strrpos()

    下篇:iconv()