![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam przykładowe dwa stringi:
i teraz chciałbym znaleźć różnice między nimi, czyli żeby mi wyświetliło coś w rodzaju: Cytat To jest jakiś tekst, który ma coś tam To jest patchowany tekst, który nie ma coś tam Takie rozwiązanie występuje z tego co widziałem w cvs'ach (system kontroli wersji czy jak to tam się nazwywa). Tutaj przykład (tam jest pewnie to robione na podstawie diff'a ale ja chciałbym to zrobić porównując stringi) Istnieje już gdzieś taka funkcja? Chicałem sam to napisać ale nie za bardzo wiem na jakiej podstawie to może działać. Trzeba by chyba porównywać znak po znaku. Ten post edytował daris 4.02.2008, 21:51:08 -------------------- FluxBB - lekki i szybki skrypt forum | Polskie wsparcie FluxBB
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
nie słyszałem o gotowej funkcji, ale w systemach wiki masz coś takiego - możesz zobaczyć jak to działa i na tym się wzorować przy pisaniu własnej funkcji
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 566 Pomógł: 18 Dołączył: 23.08.2003 Skąd: Łomża Ostrzeżenie: (0%) ![]() ![]() |
W pakiecie PEAR jest biblioteka Text_Diff:
http://pear.php.net/package/Text_Diff -------------------- *Note: No animals were killed durning the construction of this post.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
To co podał GrayHat to nie wiem co mam z tym zrobić.
Wziąłem się sam za pisanie odpowiedniej funkcji i już jestem blisko. Sprawdzam nie tak jak wyżej pisałem litera po literze tylko wyraz po wyrazie (na początku dzielę wyrażeniem regularnym bo potem może mi się to przydać jak nie tylko przez spacje będę dzielił)
Tylko że jeszcze nie działa tak jak powinno jak dany tekst istnieje w drugim ale na dalszej pozycji, czyli nie za działa poprawnie dla: Cytat To jest jakiś tekst, który ma coś tam
To jest patchowany tekst, który nie ma jakiś coś tam Ten post edytował daris 4.02.2008, 21:49:46 -------------------- FluxBB - lekki i szybki skrypt forum | Polskie wsparcie FluxBB
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Eh Ty się już tyle dni męczysz, a rozwiązanie jest gotowe i można działać w ciągu 5 minut.
Zainstaluj najpierw PEAR. Pobierz bibliotekę text_diff i działaj. -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 4 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie lepiej było tak od razu?
![]() Nie wiedziałem że to takie proste: Kod pear install text_diff ![]() OK częściowo już mam to zrobione (rozwaliłem tekst na tablicę - każdy element tablicy to nowy znak), teraz będzie trzeba na podstawie diffa przeparsować html'a ![]() -------------------- FluxBB - lekki i szybki skrypt forum | Polskie wsparcie FluxBB
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:03 |