PHP Conference Japan 2024

iconv_substr

(PHP 5, PHP 7, PHP 8)

iconv_substr擷取字串的一部分

說明

iconv_substr(
    字串 $string,
    整數 $offset,
    ?整數 $length = null,
    ?字串 $encoding = null
): 字串|false

擷取由 offsetlength 參數指定的 string 的一部分。

參數

string

原始字串。

offset

如果 offset 為非負數,iconv_substr() 會從 string 的第 offset 個字元開始擷取一部分(從零開始計算)。

如果 offset 為負數,iconv_substr() 會從 string 結尾往前數 offset 個字元的位置開始擷取一部分。

length

如果給定了 length 且為正數,則傳回值將包含從 offset 開始的最多 length 個字元(取決於 string 的長度)。

如果傳入負數的 lengthiconv_substr() 會從 string 的第 offset 個字元開始擷取,直到距離字串結尾 length 個字元的位置。如果 offset 也是負數,則起始位置會根據上述規則預先計算。

encoding

如果省略 encoding 參數或設為 null,則假設 string 使用 iconv.internal_encoding 編碼。

請注意,offsetlength 參數始終被視為基於 encoding 所決定字元集計算的偏移量,而相對應的 substr() 則始終將這些視為位元組偏移量。

傳回值

傳回由 offsetlength 參數指定的 string 的一部分。

如果 string 的長度小於 offset 個字元,則會傳回 false。如果 string 的長度正好是 offset 個字元,則會傳回空字串。

更新日誌

版本 說明
8.0.0 lengthencoding 現在可以為 null。
7.0.11 如果 string 的長度等於 offset 個字元,則會傳回空字串。在此版本之前,這種情況下會傳回 false

參見

新增註釋

使用者貢獻的註釋 1 則註釋

doru87 at gmail dot com
14 年前
僅供參考,`iconv_substr()` 未知錯誤 (0) 已在 PHP 5.2 中解決。

您也可以嘗試使用 `mb_substr()` 或 `substr()` 來處理這個問題。遺憾的是,在 5.2 之前的版本中沒有辦法修復它。

此致,
Teodor Sandu
To Top