getMatches(); if (count($matches) === 3) { // La couleur est capturée dans le premier groupe, et le texte dans le second $color = $matches[1]; $text = $matches[2]; $colorNode = new ColorText($text, $color); $inlineContext->getContainer()->appendChild($colorNode); $inlineContext->getCursor()->advanceBy(mb_strlen($matches[0])); return true; } return false; } }