DOMText::splitText

(PHP 5, PHP 7, PHP 8)

DOMText::splitText 在指定偏移量处将此节点拆分为两个节点

描述

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

在指定的 offset 处将此节点拆分为两个节点,并将两者作为兄弟节点保留在树中。

拆分后,此节点将包含直到 offset 的所有内容。如果原始节点具有父节点,则新节点将插入为原始节点的下一个兄弟节点。当 offset 等于此节点的长度时,新节点没有数据。

参数

offset

要拆分的偏移量,从 0 开始。

返回值

相同类型的新节点,其中包含 offset 处及之后的所有内容。

添加说明

用户贡献说明 1 条说明

Flix Cloutier
10 年前
需要注意的是,$offset 是一个 **字符偏移量**,而不是一个 **字节偏移量**。这意味着大多数其他处理长度和偏移量的 PHP 字符串函数(strlen、strpos、使用 PREG_OFFSET_CAPTURE 的 preg_match 等)在处理多字节字符串(如 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