(PECL xdiff >= 0.2.0)
xdiff_string_diff — Hacer un diff unificado de dos cadenas
$old_data
, string $new_data
[, int $context
= 3
[, bool $minimal
= false
]] )
Hace un diff unificado que contiene diferencias entre la cadena old_data
y
la cadena new_data
y devuelve esta. El diff resultante es legible.
Un parámetro opcional context
especifica el número de líneas de contexto que hay que añadir
alrededor de cada cambio. Establecer el parámetro minimal
a true dará como resultado de salida el archivo parche más corto posible (puede tomar algo de tiempo).
old_data
Primera cadena con información. Esta actúa como "vieja" información.
new_data
Segunda cadena con información. Esta actúa como "nueva" información.
context
Indica el número de líneas de contexto que desea incluir en el diff resultado.
minimal
Establezca este parámetro a TRUE
si desea reducir el tamaño del
resultado (puede tomar algo de tiempo).
Returns string with resulting diff or FALSE
if an internal error happened.
Ejemplo #1 Ejemplo de xdiff_string_diff()
El siguiente código hace un diff unificado de dos artículos.
<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Supongamos que alguien pega un nuevo artículo en formato html */
$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
echo "Diferencias entre los dos artículos:\n";
echo $diff;
}
?>
Nota:
Esta función no funciona bien con cadenas binarias. Para hacer un diff de cadena binaria utilice xdiff_string_bdiff()/ xdiff_string_rabdiff().