CakeFest 2024: The Official CakePHP Conference

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diffCréé un diff unifié entre deux chaînes

Description

xdiff_string_diff(
    string $old_data,
    string $new_data,
    int $context = 3,
    bool $minimal = false
): string

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).

Liste de paramètres

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).

Valeurs de retour

Retourne une chaîne représentant le diff résultant, ou false si une erreur interne survient.

Exemples

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;
}

?>

Notes

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().

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top