Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wychwytywanie zmian w dużych ciągach znaków
sadistic_son
post 19.07.2019, 11:25:24
Post #1





Grupa: Zarejestrowani
Postów: 1 476
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cześć,

Zastanawiam się nad optymalną metodą wychwytywania i zaznaczania zmian w dużych stringach.
Załóżmy, że mam string z 500 znaków, 50 linijek. Zawiera tagi html, znaki nowej lini, BRy, i wiele innych. W skrócie - totalny chaos.
Skrypt pobiera string z bazy, udostępnia do edycji i po edycji zapisuje jako nowy rekord, nie usuwając poprzedniego. Ktoś ten string edytuje, tj. np. dodaje jedno słowo w jednej linijce i zmienia jedno słowo w innej, oraz dodaje całą nową linijkę.
Jak wyszukać te konkretne 3 linijki w których dokonano zmian (jedną dodano) względem poprzedniej wersji stringu?

Obrazowo:
STRING 1:
Kod
1. blabla
2. <br>
3. text text text
4. LOREM IPSUM
5. koniec jeden


String 2, po edycji:
Kod
1. blablablablabla
2. <br>
3. text text text tekst
4. LOREM IPSUM
5. dodana linijka
6. koniec jeden


Chciałbym otrzymać informację że dokonano zmian w tych linijkach:
Kod
1. blablablablabla
3. text text text tekst
5. dodana linijka


Jakieś pomysły? Porównywanie linijka po linijce właściwie odpada bo może być możliwość że cała linijka zostanie usunięta, lub dodane kila nowych, również pustych.
Dzięki.

Ten post edytował sadistic_son 19.07.2019, 11:35:18


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
kreatiff
post 21.07.2019, 10:59:40
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


Kiedyś korzystałem z tego: https://github.com/paulgb/simplediff
Nie wskazuje linii, gdzie nastąpiły zmiany, tylko oznacza zmiany tak jak zadamy w funkcji. Ja porównywałem teksty, gdzie następowało wskazywanie m.in. literówek i działało dobrze. Dodatkowe wyrazy też ładnie wyłapuje. Nie wiem z kolei jak zareaguje, gdy jakieś wyrazy znikną.
Go to the top of the page
+Quote Post
sadistic_son
post 31.07.2019, 08:10:37
Post #3





Grupa: Zarejestrowani
Postów: 1 476
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Też może być, działa całkiem nieźle. Dzięki.


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 00:11