xdiff_string_patch
(PECL xdiff >= 0.2.0)
xdiff_string_patch — Patche une chaîne avec un diff unifié
Description
$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.
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 -
flagspeut être soitXDIFF_PATCH_NORMAL(mode par défaut, patch normal), soitXDIFF_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
errorest fourni, les parties rejetées y seront stockées.
Valeurs de retour
Retourne la chaîne patchée, ou FALSE si une erreur survient.
Exemples
Exemple #1 Exemple avec xdiff_string_patch()
<?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, $diff, XDIFF_PATCH_NORMAL, $errors); if (is_string($new_article)) { echo "Nouvel article :\n"; echo $new_article; } if (strlen($errors)) { echo "Rejets : \n"; echo $errors; } ?>
