(PECL xdiff >= 0.2.0)
xdiff_string_patch â Bir dizgeyi bir tekil fark dizgesi ile yamar
$dizge,$yama,$seçenekler = ?,&$hata = ?
Belirtilen tekil fark dizgesi yama ile
dizge dizgesini yamar ve sonucu döndĂŒrĂŒr.
yama dizgesi xdiff_file_diff()
veya xdiff_string_diff() ile ĂŒretilmiĆ tekil tĂŒrde bir
fark dizgesi olmalıdır. İsteÄe baÄlı seçenekler
baÄımsız deÄiĆkeni ile iĆlem kipi belirtilebilir. Reddedilen yama parçaları,
belirtildiÄi takdirde hata deÄiĆkeninde
döndĂŒrĂŒlĂŒr.
dizgeYamanacak dizge.
yamaxdiff_string_diff() ve xdiff_file_diff() iĆlevleriyle veya uygun araçlarla ĂŒretilmiĆ tekil yama dizgesi.
seçenekler
XDIFF_PATCH_NORMAL (öntanımlı kip, normal yama)
veya XDIFF_PATCH_REVERSE (tersinir yama)
olabilir.
1.5.0 sĂŒrĂŒmĂŒnden itibaren
XDIFF_PATCH_IGNORESPACE sabiti bit seviyesinde
VEYAlanarak belirtilebilmektedir.
hataSaÄlandıÄı takdirde, reddedilen yama parçaları bu deÄiĆkende döndĂŒrĂŒlĂŒr.
Hata oluĆursa false yoksa yamanmıà dizgeyi döndĂŒrĂŒr.
Ărnek 1 - xdiff_string_patch() örneÄi
AĆaÄıdaki kodda bir makaleye deÄiĆiklikler uygulamaktadır.
<?php
$eski_makale = file_get_contents('./old_article.txt');
/* Yamanın HTML forma yapıĆtırıldıÄı varsayılıyor */
$fark = $_SERVER['yama'];
$hatalar = '';
$yeni_makale = xdiff_string_patch($eski_makale, $fark,
XDIFF_PATCH_NORMAL, $hatalar);
if (is_string($yeni_makale)) {
echo "Yeni makale:\n";
echo $yeni_makale;
}
if (strlen($hatalar)) {
echo "Reddedilenler: \n";
echo $hatalar;
}
?>