Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][pear] Text_Diff i HTML tags
Forum PHP.pl > Forum > PHP
soska66
witam

Wczoraj przez kilka godzin bawilem sie modulem Text_Diff ( i jego rozwinieciem 'inline_renderer). Wszystko dziala pieknie jesli analizie poddawane sa dwa stringi surowego tekstu. Klasa ladnie wynajduje i koloruje roznice.

Problem polega na tym, ze klasa dziala beznadziejnie gdy mamy do porownania dwa teksty zawierajace kod HTML. A tak sie dzieje w przypadku uzywania edytora typu Cute Editor. Funkcja gubi niektore tagi kompletnie, inne zamienia w jakies dziwne twory (np linki z <a href> na <a> href) co powoduje totalny balagan w polu porownawczym

Moim celem jest po prostu porownywanie dwoch ostatnich wersji podstrony (edytowanej w cute edytorze) i prezentowanie roznic w kolorach.

Czy ktos zetknal sie z tym zagadnieniem? Czy sa jakies modyfikacje klasy Text_Diff albo inne klasy/moduly, ktore moga spelnic moje oczekiwania? Pisanie kodu wlasnorecznie od podstaw wydaje sie zbyt czasochlonne
wry
jesli zalezy ci na porownaniu tresci mozesz wyczyscic wpis z tagow htmla przed porownaniem, jesli natomiast chcesz porownac ze soba tresc i strukture htmla mozesz rozbic tekst po bialych znakach (bo nie koniecznie musza byc tylko spacje) i porownywac slowo po slowie, tyle ze bedzie srednio dzialac jesli dojdzie do wstawienia w tekst jakiegos slowa a nie wymiany jednego na drugi
soska66
planowalem slowo po slowie, ale nie spelni to w 100% zadania... wiec nie bede sie za to zabieral

Znalazlem skrypt napisany przez niejakiego Paula Butlera, ktory dziala podobnie do Text_Diff, ale bez zastosowania biblioteki. I do tego radzi, a raczej powinien sobie radzic, z HTMLem... wciaz jednak sa z tym problemy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.