xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patchPatches a string with an unified diff

Descrição

xdiff_string_patch(
    string $str,
    string $patch,
    int $flags = ?,
    string &$error = ?
): string

Corrige uma string str com um patch unificado no parâmetro patch e retorna o resultado. patch deve ser uma diferença unificada criado pela função xdiff_file_diff()/xdiff_string_diff(). Um parâmetro opcional flags especifica o modo de operação. Quaisquer partes rejeitadas do patch serão armazenadas dentro da variável error se forem fornecidas.

Parâmetros

str

A string original.

patch

A string de patch 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, patch normal) ou XDIFF_PATCH_REVERSE (patch reverso).

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.

error

Se fornecido, as partes rejeitadas serão armazenadas dentro desta variável.

Valor Retornado

Retorna a string corrigida ou false em caso de erro.

Exemplos

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

?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top