PHP Unconference Europe 2015

DOMText::splitText

(PHP 5)

DOMText::splitText Coupe le noeud en deux noeuds à l'endroit spécifié

Description

public DOMText DOMText::splitText ( int $offset )

Coupe le noeud en deux noeuds à l'endroit spécifié offset, en gardant les deux dans l'arbre comme parents.

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

Liste de paramètres

offset

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

Valeurs de retour

Le nouveau noeud 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
0
Flix Cloutier
1 year 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