(PECL xdiff >= 0.2.0)
xdiff_string_diff — Créé un diff unifié entre deux chaînes
Crée un diff unifié contenant les différences entre la chaîne old_data
et la chaîne new_data
et retourne le diff ainsi créé. Le diff résultant est humainement lisible. Le paramètre optionnel context
spécifie le nombre de lignes de contexte à ajouter autour de chaque modification. Le fait de définir le paramètre minimal
à true
fera que le diff sera le plus petit possible (peut prendre du temps).
old_data
Première chaîne de données. Ce sont les anciennes données.
new_data
Seconde chaîne de données. Ce sont les nouvelles données.
context
Indique le nombre de lignes de contexte que vous voulez inclure dans le diff résultant.
minimal
Configurez minimal
à true
si vous voulez minimaliser la taille du diff (peut prendre beaucoup de temps).
Retourne une chaîne représentant le diff résultant, ou false
si une erreur interne survient.
Exemple #1 Exemple avec xdiff_string_diff()
Le code suivant effectue un diff de deux articles.
<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article'];
$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
echo "Différences entre les deux articles :\n";
echo $diff;
}
?>
Note:
Cette fonction ne fonctionne pas correctement avec des chaînes binaires. Pour effectuer un diff de chaînes binaires, utilisez la fonction xdiff_string_bdiff()/xdiff_string_rabdiff().