(PECL xdiff >= 0.2.0)
xdiff_string_diff — Faz uma diferença unificada entre duas strings
$old_data
,$new_data
,$context
= 3,$minimal
= false
Cria uma diferença unificada contendo as diferenças entre a string old_data
e a string
new_data
e o retorna. A diferença resultante é legível por humanos.
Um parâmetro opcional context
especifica quantas linhas de contexto devem ser
adicionadas em torno de cada alteração. Definir o parâmetro minimal
como verdadeiro resultará na saída do menor arquivo de patch possível (pode levar muito tempo).
old_data
Primeira sequência com dados. Atua como dados "antigos".
new_data
Segunda sequência com dados. Atua como dados "novos".
context
Indica quantas linhas de contexto você deseja incluir no resultado da diferença.
minimal
Defina este parâmetro como true
se quiser minimizar o tamanho do
resultado (pode levar muito tempo).
Retorna uma string com a diferença resultante ou false
se ocorrer um erro interno.
Exemplo #1 Exemplo de xdiff_string_diff()
O código a seguir faz uma comparação unificada de dois artigos.
<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Digamos que alguém colou um novo artigo em um formato HTML */
$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
echo "Diferenças entre dois artigos:\n";
echo $diff;
}
?>
Nota:
This function doesn't work well with binary strings. To make diff of binary strings use xdiff_string_bdiff()/xdiff_string_rabdiff().