Rechercher une fonction PHP

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patchPatche une chaîne avec un diff unifié

Description

string xdiff_string_patch ( string $str , string $patch [, int $flags [, string &$error ]] )

Patche la chaîne str avec un patch unifié et retourne le résultat. patch doit être un patch unifié créé par les fonctions xdiff_file_diff() et xdiff_string_diff(). Un paramètre optionnel flags spécifie le mode de l'opération. Toutes les parties rejetées seront stockées dans la variable error si elle est fournie.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

str

La chaîne originale.

patch

Le patch unifié. Il doit avoir été créé en utilisant les fonctions xdiff_string_diff(), xdiff_file_diff() ou tout autre outil compatible.

flags

flags peut être soit XDIFF_PATCH_NORMAL (mode par défaut, patch normal), soit XDIFF_PATCH_REVERSE (patch inversé).

Depuis la version 1.5.0, vous pouvez également utiliser l'opérateur binaire OR pour activer le drapeau XDIFF_PATCH_IGNORESPACE.

error

Si error est fourni, les parties rejetées y seront stockées.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne la chaîne patchée, ou FALSE si une erreur survient.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec xdiff_string_patch()

Le code suivant applique les changements à des articles.

<?php
$old_article 
file_get_contents('./old_article.txt');
$diff $_SERVER['patch']; /* disons que quelqu'un a passé un patch via un formulaire html */

$errors '';

$new_article xdiff_string_patch($old_article$diffXDIFF_PATCH_NORMAL$errors);
if (
is_string($new_article)) {
    echo 
"Nouvel article :\n";
    echo 
$new_article;
}

if (
strlen($errors)) {
    echo 
"Rejets : \n";
    echo 
$errors;
}

?>

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-xdiff-string-patch.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut