|
|
|
|
|
для: EvgenLog
(17.09.2006 в 09:22)
| | wordwrap() не очень удобно пользоваться, лучше использовать explode() или preg_split(), например
<?php
$arr = preg_split("|[\s]+|s",$text);
?>
|
| |
|
|
|
|
|
|
|
для: EvgenLog
(17.09.2006 в 09:22)
| | можно попробовать ф-ю explode (но тогда разделитель между словами должен быть одинаковым во всем предложении, т.е. либо все слова через один пробел, либо запятую - разницы нет, но разделитель одинавовый)
можно опять же рег. выражением разбить ... тогда и с разделителями проще будет ... | |
|
|
|
|
|
|
|
для: EvgenLog
(31.08.2006 в 20:52)
| | Вот дошло дело до того, что нужно вернуться к разработке этого *** поиска... Попытался я разбить строку на слова функцией wordwrap(), разбить-то она разбила, очень даже хорошо, но как по ним искать, ведь эта функция никаких массивов не возвращает. Видимо нужно использовать не её, но тогда какую?! Помогите пожалуйста разобраться... | |
|
|
|
|
|
|
|
для: cheops
(31.08.2006 в 13:54)
| | Спасибо... Всё так просто... | |
|
|
|
|
|
|
|
для: EvgenLog
(29.08.2006 в 17:10)
| | Что-то пропустил ваш пост... в этом случае предложение разбивается на отдельные слова и поиск идёт по каждому из слов в отдельности, если используется логика ИЛИ или в строке ищутся все слова разом, если логика И. | |
|
|
|
|
|
|
|
для: EvgenLog
(29.08.2006 в 17:10)
| | Ответов так и не поступит? Я вопрос не понятно задал или просто никто не хочет помочь? | |
|
|
|
|
|
|
|
для: cheops
(28.08.2006 в 12:38)
| | Ну хорошо, с этим уже разобрался, ищит слова и даже все однокоренные тоже... Но что делать в случае если запрос не из одного слова, а целого предложения? Я рассматривал вариант, при котором рег. выражением обрабатывается запрос пользователя и в зависимости от того какому шаблон он соответствует выполняется поиск... Есть-ли более рациональные способы? | |
|
|
|
|
|
|
|
для: EvgenLog
(27.08.2006 в 21:25)
| | С пробельного символа начинается любое слово в файле, кроме самого первого слова... Класс [[:space:]] или любой другой символ обозначает всегда только один символ, если вам нужно найти несколько символов следует добавить + в конце [[:space:]]+. | |
|
|
|
|
|
|
|
для: EvgenLog
(27.08.2006 в 20:47)
| | В чём ошибка? Есть вот такое регулярное выражение...
<?
eregi("^([[:space:]])(".$str.")([[:alnum:]])([[:space:]]$)", $part[$s], $matches)
?>
|
Если я всё правильно понимаю, то должна быть найдена строка, которая начинается с пробела (т.е. начало слова), после пробела следует искомая последовательность знаков, затем люой набор других символов и заканчивается всё это пробелом. Т.е. долно найтись любое слово. Естественно по $str вписывается не полностью слово, а лишь часть, чтобы была возможность найти и однокоренные слова... | |
|
|
|
|
|
|
|
для: cheops
(27.08.2006 в 11:19)
| | Модно, но нужно, чтобы ссылки на страницу выводились и названия страниц... В принципе файл рассчитан только для поиска по нему, он выступает в качестве ОБЩЕЙ базы... | |
|
|
|
|