$string.diff¶
Description¶
Fusionne deux textes en y détaillant les modifications au moyen de balises
<ins> et <del>.
Échappement
Du fait que la méthode utilise les balises <ins> et <del> pour
signaler les différences, les caractères spéciaux de la syntaxe XML
doivent être échappés. Ainsi, un caractère "<" sera converti en "<"
dans la réponse.
Alternative
La méthode $xml.diff utilise un autre algorithme
pour la recherche de différence. Le résultat obtenu avec cette méthode
peut varier et être plus adapté selon les cas.
Syntaxe¶
$string.diff( old , new [ , options ] )
Paramètres¶
oldstring- Texte de base
newstring- Nouveau texte à comparer avec
old optionsmap-
Map d'options. Les options reconnues sont:
rawOutput-
Flag
true/falseindiquant si l'on souhaite obtenir la valeur brute de l'algorithme de comparaison.Par défaut, la méthode effectue un post-traitement de la valeur générée par l'algorithme de comparaison afin de la rendre plus lisible. Ce dernier transformera par exemple la valeur:
<del>le</del><ins>un</ins> <del>petit</del><ins>nouveau</ins> <del>chat</del><ins>texte</ins>en
<del>le petit chat</del><ins>un nouveau texte</ins>Il est cependant possible d'obtenir la version de base en activant le flag.
L'option est désactivée (
false) par défaut. separator- Expression régulière de découpage du texte en tokens. Par défaut, le moteur utilise une expression qui découpe les textes aux espaces, signes de ponctuation et saut de lignes.
Retour¶
Retourne une chaîne de caractères reprenant les modifications apportées au texte.
Exemple¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Le code ci-dessus produit un message ayant la forme suivante:
This is a test sentencefor diffutils.
La documentation de la méthode $xml.diff fournit
également un exemple permettant de comparer deux chaînes en s'appuyant sur
une solution alternative.