(PECL xdiff >= 0.2.0)
xdiff_string_diff — Créé un diff unifié entre deux chaînes
$old_data,$new_data,$context = 3,$minimal = false
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_dataPremière chaîne de données. Ce sont les anciennes données.
new_dataSeconde chaîne de données. Ce sont les nouvelles données.
contextIndique 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']; /* 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().