![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Przykład: $a = "Ala ma kota" $b = "Ala nie ma kota" Chciałbym wyciągnąc róznice pomiędzy ciągami, w tym przypadku "nie". Ma ktoś jakieś pomysły? Myślałem, żeby każdy wyraz dodawać do tablicy i dalej z tym kombinować, ale szukam czegos prostego. Stringi będą długie np. 2 kartki A4 ![]() Ten post edytował harold1982 5.10.2007, 22:08:14 -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 25.09.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja bym dał coś takiego:
Kod if ($a == $b) echo 'Takie same'; else echo 'Inne'; Nie znam się za bardzo, ale to będzie jakoś tak ![]() -------------------- pavobe.pl - pavobe's weblog
WPMedia.pl - blog o WordPress |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki! Tylko nie o to chodzi
![]() -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Ok dzięki
![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
O ile same roznice byloby latwo zrobic, to by napisac skrypt, ktory wykrywalby roznice takie jak usuniecie, zmiane itd, bedzie trudniej. Nie kazde wystapienie jednego slowa w nowym tekscie mogloby byc brane jako zmiana, tylko z tego powodu, ze w innym miejscu przy porownaniu te slowo zostalo zmienione. Na szybko moza zasugerowac badanie ciagu krok po kroku.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
myślałem o tablicach. W sensie rozbić zdania na wyrazy i każdy przypisać do tablicy. Ale co dalej jest tyle If'ów w mojej głowie
![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Na dzien dzisiejszy gotowego pomyslu nie mam, podsune tylko rozumowanie.
Kod ala ma kota ta te ti ala nie ma kota ta ti napisz skrypt, ktory tak to bedzie widzial ![]() Jesli przyjdzie mi jakies mniej filozoficzne rozwiazanie, dam znac. Ten post edytował no_face 5.10.2007, 23:01:48 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Tak to widze właśnie
![]() $a = "Kota ala ma" $b = "Ala ma kota" proste porównanie tablic da 100% zgodność... ważne jest to, że Ala występuje po ma, a ma itd... Myślałem, żeby podzielić tego stringa na linijki i sprawdzac całe linije, ale to troche bez sensu. Można dzielić na zdania, ale nie każdy stawia kropke na końcu ![]() Ten post edytował harold1982 5.10.2007, 23:55:07 -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 346 Pomógł: 23 Dołączył: 28.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
W tym przypadku mozesz potraktowac to jako nowy tekst, ewentualnie edycja czyli cos w stylu:
Kod kota ala ma ala ma kota Zmiana pozycji rowna sie jakiej edycji w tym czasie slowo "kota" bedzie wystepowalo "nowe". Chyba, ze chcesz inteligentny system, ktory porownuje logiczna calosc ![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 4.03.2006 Ostrzeżenie: (10%) ![]() ![]() |
![]() ![]()
do tego mozna do ifów dorzucić sprawdzenie indeksów x i y czy sa takie same ;PP a wraz z kolejną różnica odejmowanie indeksów o jeden ![]() Pozdrawiam press!! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
No tak, ale co jeśli:
$a = "Ala ma dużego kota"; $b = "Mała Ala ma kota"; To, że dany wyraz nie znajduje się na tej samej pozycji nic nie znaczy ![]() EDIT: istnieje gotowe rozwiązanie pod nazwą Diff Engine ![]() Ten post edytował harold1982 22.11.2007, 00:19:30 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 8.07.2025 - 06:06 |