(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).
Première chaîne de données. Ce sont les anciennes données.
Seconde chaîne de données. Ce sont les nouvelles données.
Indique le nombre de lignes de contexte que vous voulez inclure dans le diff résultant.
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']; /* disons que quelqu'un a posté un nouvel article via un formulaire html */
$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().