Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] porownywanie tresci
Forum PHP.pl > Forum > Przedszkole
Amorph
Witam,
Potrzebuje naprowadzenia jak się zabrać do skryptu, który miałby porównywać 2 teksty i pokazywać różnice np.
Ala ma Kota ->Ala ma Psa
wynikowo powinienem dostać odpowiedź coś na kształt:
W 2 pliku w lini x zamieniono wyraz "Kota" na "Psa".
Jakieś pomysły ?
siemakuba
Tak na szybko, co przyszło mi do głowy:

  1. <?php
  2. $txt1 = 'Wanda co nie chciała Niemca';
  3. $txt2 = 'Wanda co bardzo chciała Francuza';
  4.  
  5. $arr1 = explode(' ', $txt1);
  6. $arr2 = explode(' ', $txt2);
  7.  
  8. $diff = array_diff($arr2, $arr1);
  9.  
  10. $txtR = preg_replace('/b('.implode('|', $diff).')b/i', '*0*', $txt2);
  11.  
  12.  
  13. echo $txt1.' / '.$txtR;
  14. ?>


wynik:
Kod
Wanda co nie chciała Niemca / Wanda co *bardzo* chciała *Francuza*


Ma to pewne minusy (np. przy różnej ilości wyrazów w stringach), ale jako szkielet możesz to potraktować i walczyć coś dalej.

pozdr.
Amorph
Dzięki za pomysł.....
Jednak w tym rozwiązaniu pozostaje problem w momencie kiedy zostanie skasowany wyraz:
Ala ma Zielonego Kota -> Ala ma Kota....
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.