|
|
|
| Здравствуйте.
Подскажите пожалуйста.
Надо очистить строку от всего кроме букв и слов.
Нужно удалить все точки, кавычки, спец символы, тире, слеши и т.п.
Необходимо для построчного поиска по тексту, когда в одинаковых предложениях присутствуют лишние символы, введенные по ошибке(опечатке) | |
|
|
|
|
|
|
|
для: добряк
(29.11.2012 в 04:51)
| | А пробельные символы должны оставаться? | |
|
|
|
|
|
|
|
для: cheops
(29.11.2012 в 06:50)
| | Есть два файла с фразами, и синтаксическими ошибками.
Мне надо оптимизировать построчный поиск фразы в файле, где во фразах есть опечатки.
В поисковой фразе так же считать возможность ошибки, если символ - не буква
Считать, что в словах ошибок нет.(орфографических ошибок нет)
Возможно надо разбить на лексемы, на слова и поместить в массив. Или надо в предложении оставить одни слова и одинарные пробелы между словами.
Хотя может есть другой вариант, мне надо для поиска по тексту на совпадение фразы(слов фразы).
Допустим есть строки:
"Очистка строки",
"Очистка строки.",
"Очистка-строки".
Какая правильная неизвестно, поэтому считать, что все они эквивалентно равны.
Или например найти: "А зори здесь громкие". Женское лицо войны
В файле есть запись: «А зори здесь громкие» Женское лицо войны.
Тут тоже надо считать строки эквивалентными.
Интересно, что например http://www.labirint.ru/ находит даже по такой ошибочной фразе "зресь гронкие А зори "
Как оптимизировать поиск? | |
|
|
|
|
|
|
|
для: добряк
(29.11.2012 в 13:16)
| | Можно очистить строки так:
$text = preg_replace("/[^а-я,0-9]/", "", strtolower($text));
|
То есть оставляем русские буквы и цифры, предварительно переведя строку в нижний регистр. | |
|
|
|
|
|
|
|
для: Mookapek
(29.11.2012 в 21:58)
| | Спасибо. А как слова искать по текстовому файлу, что бы быстрее. | |
|
|
|
|
|
|
|
для: добряк
(29.11.2012 в 23:52)
| |
<?php
$lines = file("text.txt");
foreach ($lines as $line_num => $line)
{
$line = preg_replace("/[^а-я,0-9]/", "", strtolower($line));
$lines[$line_num] = $line;
}
?>
|
Если в файле text.txt содержится такой текст:
Очистка строки
"очистка строки."
Очистка-строки
|
То после обработки, текст будет записан в массив, дамп которого будет выглядеть так:
Array
(
[0] => очисткастроки
[1] => очисткастроки
[2] => очисткастроки
)
|
А поиск по массиву обеспечивает функция array_search(). | |
|
|
|
|
|
|
|
для: Mookapek
(30.11.2012 в 16:44)
| | Наверно так лучше.
Спасибо. | |
|
|
|
|
|
|
|
для: Mookapek
(30.11.2012 в 16:44)
| | Я благодарен вам, | |
|
|
|
|
|
|
|
для: Mookapek
(29.11.2012 в 21:58)
| | . | |
|
|
|