Сравнение 2-х текстов

Тема в разделе "PHP", создана пользователем silent9, 6 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. silent9

    silent9 Постоялец

    Регистр.:
    7 июн 2008
    Сообщения:
    136
    Симпатии:
    10
    Существуют ли готовые классы для сравнения 2-х текстов?
    т.е например есть Текст1, в него внесли изменения, получился Текст2, нужно сравнить Текст1 и Текст2 и как-то выделить изменившиеся данные
     
  2. megadude

    megadude

    Регистр.:
    6 сен 2006
    Сообщения:
    184
    Симпатии:
    66
    http://www.phpclasses.org/browse/package/2365.html
     
  3. silent9

    silent9 Постоялец

    Регистр.:
    7 июн 2008
    Сообщения:
    136
    Симпатии:
    10
    попробовал с помощью этого класса сравнить 2 небольших предложения (одна строка)
    получил результат
    Number of Similar line(s:( 0
    Number of Different line(s:( 0

    этот класс сравнивает по линиям.. а мне нужно по словам, чтобы можно было выделить изменившееся слово или текст
     
  4. slik_jay

    slik_jay ^_^

    Регистр.:
    24 май 2008
    Сообщения:
    50
    Симпатии:
    27
    проще всего воспользоваться утилитой diff
    Код:
    <?php
    exec("diff /path/to/file /path/to/file2", $output);
    echo nl2br(print_r($output, true));
    ?>
    
    но вот с виделением слов проблематично :)
     
  5. zetar

    zetar

    Регистр.:
    18 май 2007
    Сообщения:
    497
    Симпатии:
    348
  6. silent9

    silent9 Постоялец

    Регистр.:
    7 июн 2008
    Сообщения:
    136
    Симпатии:
    10
    diff не подходит, нужно сравнение текстов, а не файлов, записывать текст в файл и сравнивать не вариант
    темболее что различия в текстах будут 100%,
    узнать различаются тексты или нет мне не нужно, я это и так знаю))
     
  7. ozware

    ozware

    Регистр.:
    22 апр 2007
    Сообщения:
    327
    Симпатии:
    42
    все эти стандартные функции работают только с английским языком
     
  8. Small_Forward

    Small_Forward Писатель

    Регистр.:
    17 июл 2007
    Сообщения:
    2
    Симпатии:
    2
  9. silent9

    silent9 Постоялец

    Регистр.:
    7 июн 2008
    Сообщения:
    136
    Симпатии:
    10
    нужно на PHP...
    в Pear есть чтото похожее, но тоже не то..
    наверное готового класса нету
     
  10. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Это почему же? Очень даже хороший вариант.

    А если разница в словах то можно разбить текст на слова по пробелам и в простом цикле проходить оба массива и вычислять разницу.
     
Статус темы:
Закрыта.