(PECL xdiff:0.2-1.4)
xdiff_string_patch — Patche une chaîne avec un diff unifié
Patche la chaîne str avec le patch unifié contenu dans la chaîne patch .
La chaîne originale.
Le patch unifié.
flags peut être soit XDIFF_PATCH_NORMAL (mode par défaut, patch normal), soit XDIFF_PATCH_REVERSE (patch inversé).
Si error est fourni, les parties rejetées y seront stockées.
Retourne la chaîne patchée, ou FALSE si une erreur survient.
Exemple 2815. 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
,
$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
;
}
?>
xdiff_file_patch() |