xdiff_string_patch 함수
(PECL xdiff >= 0.2.0)
xdiff_string_patch — 통합 diff로 문자열 패치
설명
xdiff_string_patch( string $str, string $patch, int $flags = ?, string &$error = ? ): string
patch
매개변수의 통합 패치로 str
문자열을 패치하고 결과를 반환합니다. 패치는 xdiff_file_diff()/xdiff_string_diff() 함수에 의해 생성된 통합 diff여야 합니다. 선택적 flags
매개변수는 작동 모드를 지정합니다. 패치의 거부된 부분은 제공되는 경우 error
변수 안에 저장됩니다.
매개변수
str
- 원래 이진 문자열입니다.
patch
- 통합 패치 문자열입니다. xdiff_string_diff(), xdiff_file_diff() 함수 또는 호환 가능한 도구를 사용하여 생성해야 합니다.
flags
flags
는 XDIFF_PATCH_NORMAL(기본 모드, 일반 패치) 또는 XDIFF_PATCH_REVERSE(역 패치)일 수 있습니다.버전 1.5.0부터 바이너리 OR을 사용하여 XDIFF_PATCH_IGNORESPACE 플래그를 활성화할 수도 있습니다.
error
- 제공된 경우 거부된 부품이 이 변수 안에 저장됩니다.
반환 값
패치된 문자열을 반환하거나 오류가 발생하면 false
를 반환합니다.
Examples
예제 #1 xdiff_string_patch() 예제
다음 코드는 일부 기사에 변경 사항을 적용합니다.
<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */
$errors = '';
$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
echo "New article:\n";
echo $new_article;
}
if (strlen($errors)) {
echo "Rejects: \n";
echo $errors;
}
?>
기타
- xdiff_string_diff() - 두 문자열의 통합 diff 만들기