PHP 日本研討會 2024

DOMText::splitText

(PHP 5, PHP 7, PHP 8)

DOMText::splitText 在指定的偏移量處將此節點分割為兩個節點

說明

public DOMText::splitText(int $offset): DOMText|false

在指定的 offset 處將此節點分割為兩個節點,並將兩者都保留在樹狀結構中作為同級節點。

分割後,此節點將包含所有直到 offset 的內容。如果原始節點有父節點,則新節點將作為原始節點的下一個同級節點插入。當 offset 等於此節點的長度時,新節點沒有資料。

參數

offset

要分割的偏移量,從 0 開始。

回傳值

與原始節點類型相同的新節點,其中包含 offset 及之後的所有內容。

新增註解

使用者貢獻的註解 1 註解

1
Flix Cloutier
11 年前
應該注意的是,$offset 是**字元偏移量**,而不是**位元組偏移量**。這表示大多數其他處理長度和偏移量的 PHP 字串函式(strlen、strpos、preg_match 與 PREG_OFFSET_CAPTURE 等)如果用於多位元組字串(如 UTF-8 字串),則會使用並傳回不適用於此方法的值。

位元組偏移量可以使用 mb_strlen 轉換為字元偏移量

<?php
function char_offset($string, $byte_offset, $encoding = null)
{
$substr = substr($string, 0, $byte_offset);
return
mb_strlen($substr, $encoding ?: mb_internal_encoding());
}
?>
To Top