2013-03-25 1 views
4

나는 HTML 파일을 비교하고 그 차이점을 보여주는 도구를 PHP로 작성하고있다. 이제는 두 HTML 파일 사이의 백분율 차이를 계산하는 효율적인 방법을 찾고 있습니다. 이러한 파일은 임의로 길어질 수 있습니다 (내가 가지고있는 파일은 최대 300,000 자일 수 있습니다).두 개의 HTML 파일의 백분율 차이 계산하기

Oven (n * m)의 알고리즘 인 Levensthein distance를 발견 한 후 PHP 버전은 최대 255 자까지만 지원할 수 있으며 O를 직접 구현할 수 있습니다. (n) 공간이 너무 느리다. 그 후, PHP 함수 similar_text를 시도했지만 그 알고리즘은 매우 큰 HTML 파일에도 너무 느립니다.

이제 HTML 파일을 비교하는 또 다른,보다 효율적인 알고리즘을 찾고 있습니다. 근사 알고리즘도 좋습니다. 아무도 나에게이 일을하는 방법에 대한 조언을 줄 수 있습니까? 당신은 설정 xdiff 확장을 할 수

+0

파일이나 내용을 비교해야합니까? strip_tags를 사용하면 파일이 훨씬 더 짧아집니다. – Voitcus

+0

나는 당신이 어떤 차이점을 확인 하느냐에 달려 있다고 생각하니? 예 : 공백을 계산합니까? – diagonalbatman

+1

왜 diff를 실행하고 출력을 사용할 수 없습니까? –

답변

1

:

http://www.php.net/manual/en/function.xdiff-file-diff.php

그런 다음 당신은 쉽게 비율로 올 수 DIFF에 따라 두 파일은 diff를 얻을합니다.

예 :

  • 먼저 파일 A : 400 개 단어
  • 두 번째 파일 B : 400 개 단어

DIFF 결과 : A로부터 diff를 200 개 단어

하는 줄 것 즉, B하기 당신에게 50 %의 유사성이 있습니다.

관련 문제