DOMText::splitText

(PHP 5, PHP 7, PHP 8)

DOMText::splitText Coupe le nœud en deux nœuds à l'endroit spécifié

Description

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

Coupe le nœud en deux nœuds à l'endroit spécifié offset, en gardant les deux dans l'arbre comme parents.

Après la césure, ce nœud contiendra tout le texte jusqu'à offset. Un nouveau nœud avec le reste du texte sera retourné. Si le nœud d'origine possède un parent, le nouveau nœud est inséré à la suite du nœud courant. Lorsque offset est égal à la taille du nœud, le nouveau nœud est vide.

Liste de paramètres

offset

La position de la césure, commençant à 0.

Valeurs de retour

Le nouveau nœud du même type, qui contient tout le contenu à partir de la position offset.

add a note add a note

User Contributed Notes 1 note

up
1
Flix Cloutier
11 years ago
It should be noted that $offset is a **character offset**, not a **byte offset**. This means that most other PHP string functions that deal with lengths and offsets (strlen, strpos, preg_match with PREG_OFFSET_CAPTURE, etc.) use and return values unsuitable for this method if used with multibyte strings (like UTF-8 strings).

Byte offsets can be converted to character offsets with 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