Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сравнить строки взятые из mysql и массива $_POST?

Сообщения:  [1-10]    [11-20]  [21-29] 

 
 автор: sega_z   (03.08.2011 в 17:42)   письмо автору
 
   для: sega_z   (03.08.2011 в 16:03)
 

Все работает нормально, спасибо вам за помощь!

Но если тот же самый текст написать без переноса строки, то уже не срабатывает. Не могу понять почему?

  Ответить  
 
 автор: sega_z   (03.08.2011 в 16:03)   письмо автору
 
   для: Drago   (03.08.2011 в 15:58)
 

Не понял а что именно возвращает функция similar_text?

  Ответить  
 
 автор: Drago   (03.08.2011 в 15:58)   письмо автору
 
   для: sega_z   (03.08.2011 в 15:47)
 

Эти функции вычисляют степень похожести двух строк. Подробнее можно почитать в мануале: similar_text(), levenshtein().

  Ответить  
 
 автор: sega_z   (03.08.2011 в 15:47)   письмо автору
 
   для: Drago   (03.08.2011 в 15:42)
 

А можно поподробнее, я первый раз слышу о таких алгоритмах.

  Ответить  
 
 автор: Drago   (03.08.2011 в 15:42)   письмо автору
 
   для: sega_z   (03.08.2011 в 15:35)
 

А если пользователь добавит лишнюю точку или букву, что тогда?
Лучше, в таком случае, воспользоваться алгоритмами сравнения текста, которые посоветовал MHz.

  Ответить  
 
 автор: sega_z   (03.08.2011 в 15:35)   письмо автору
 
   для: Drago   (03.08.2011 в 15:27)
 

Ага понял.

А можно как нибудь сделать, чтобы удалялись вообще все пробелы перед сравнением строк?
Иначе пользователь напишет тоже самое объявление и поставит лишний пробел - программа посчитает эти тексты разными.

  Ответить  
 
 автор: Drago   (03.08.2011 в 15:27)   письмо автору
 
   для: sega_z   (03.08.2011 в 15:19)
 

У вас в строке, которая хранится в базе 2 лишних пробела между словами.

продам холодильник СТИНОЛ высота 1,70, с отдельной камерой 12т.р.
кухонный гарнитур 6т.р.
уголок кухонный 2т.р.

// после слов "камерой" и "гарнитур"
продам холодильник СТИНОЛ высота 1,70, с отдельной камерой  12т.р.
кухонный гарнитур  6т.р.
уголок кухонный 2т.р.

  Ответить  
 
 автор: sega_z   (03.08.2011 в 15:19)   письмо автору
 
   для: Drago   (03.08.2011 в 15:17)
 

Вот результат:

string(532) "239, 240, 238, 228, 224, 236, 32, 245, 238, 235, 238, 228, 232, 235, 252, 237, 232, 234, 32, 209, 210, 200, 205, 206, 203, 32, 226, 251, 241, 238, 242, 224, 32, 49, 44, 55, 48, 44, 32, 241, 32, 238, 242, 228, 229, 235, 252, 237, 238, 233, 32, 234, 224, 236, 229, 240, 238, 233, 32, 49, 50, 242, 46, 240, 46, 13, 10, 234, 243, 245, 238, 237, 237, 251, 233, 32, 227, 224, 240, 237, 232, 242, 243, 240, 32, 54, 242, 46, 240, 46, 13, 10, 243, 227, 238, 235, 238, 234, 32, 234, 243, 245, 238, 237, 237, 251, 233, 32, 50, 242, 46, 240, 46" string(540) "239, 240, 238, 228, 224, 236, 32, 245, 238, 235, 238, 228, 232, 235, 252, 237, 232, 234, 32, 209, 210, 200, 205, 206, 203, 32, 226, 251, 241, 238, 242, 224, 32, 49, 44, 55, 48, 44, 32, 241, 32, 238, 242, 228, 229, 235, 252, 237, 238, 233, 32, 234, 224, 236, 229, 240, 238, 233, 32, 32, 49, 50, 242, 46, 240, 46, 13, 10, 234, 243, 245, 238, 237, 237, 251, 233, 32, 227, 224, 240, 237, 232, 242, 243, 240, 32, 32, 54, 242, 46, 240, 46, 13, 10, 243, 227, 238, 235, 238, 234, 32, 234, 243, 245, 238, 237, 237, 251, 233, 32, 50, 242, 46, 240, 46"

  Ответить  
 
 автор: sega_z   (03.08.2011 в 15:17)   письмо автору
 
   для: sega_z   (03.08.2011 в 15:02)
 

Ну так в чем отличия?

  Ответить  
 
 автор: Drago   (03.08.2011 в 15:17)   письмо автору
 
   для: sega_z   (03.08.2011 в 15:02)
 

Разные, потому что кол-во символов отличается. Попробуйте написать так:
<?
//var_dump($text_ob); 
//var_dump($text_dubl);
var_dump(implode(', 'array_map('ord'str_split($text_ob))));
var_dump(implode(', 'array_map('ord'str_split($text_dubl))));


И покажите результат.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-29] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования