(PECL xdiff >= 0.2.0)
xdiff_string_patch — Altera uma string com uma correção unificada
Corrige uma string str com uma correção unificada no parâmetro patch
e retorna o resultado. patch deve ser uma correção unificada criada pela
função xdiff_file_diff()/xdiff_string_diff().
Um parâmetro opcional flags especifica o modo de operação. Quaisquer
partes rejeitadas da correção serão armazenadas dentro da variável error se
forem fornecidas.
strA string original.
patchA string de correção unificada. Ela deve ser criada usando as funções xdiff_string_diff(), xdiff_file_diff() ou ferramentas compatíveis.
flags
flags podem ser
XDIFF_PATCH_NORMAL (modo padrão, correção normal)
ou XDIFF_PATCH_REVERSE (correção reversa).
A partir da versão 1.5.0, também pode-se usar a operação binária OR para habilitar o sinalizador
XDIFF_PATCH_IGNORESPACE.
errorSe fornecido, as partes rejeitadas serão armazenadas dentro desta variável.
Retorna a string corrigida ou false em caso de erro.
Exemplo #1 Exemplo de xdiff_string_patch()
O código a seguir aplica alterações a alguns artigos.
<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Digamos que alguém colou uma correção em um formulário HTML */
$errors = '';
$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
echo "Novo artigo:\n";
echo $new_article;
}
if (strlen($errors)) {
echo "Rejeições: \n";
echo $errors;
}
?>