Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Поиск в текстовой базе.... (https://forum.antichat.xyz/showthread.php?t=83351)

marlen 02.09.2008 15:26

Поиск в текстовой базе....
 
В текстовом документе есть около 100.000 слов, нужен скрипт который проводил бы поиск определенного слово или похожего слова.
Пример: Ищем слово "домофон"
Результат поиска:
домофон
дом
фон
Пример: ищём номер Icq: 348657695
Результат поиска:
348657696
348657685
348557695
338657695
348657695

BlackSun 02.09.2008 15:51

Цитата:

нужен скрипт
...

D Mak 02.09.2008 17:01

PHP код:

$str "matc1 matc2 matc3 matcd";
$search_str "match";
$matches = array();
for(
$i=0$i<strlen($search_str); $i++) {
$temp_str $search_str;
$temp_str[$i] = ".";
$search_regexp "#".$temp_str."#i";
preg_match_all($search_regexp$str$m);
$matches array_merge($matches$m[0]);
}
print_r($matches); 

находит слово с одной неверной буквой

аналогично для поиска асек:
PHP код:

$str "21232 11231 11111";
$search_str "21231";
$matches = array();
for(
$i=0$i<strlen($search_str); $i++) {
$temp_str $search_str;
$num $temp_str[$i]; $b_num $num-1$e_num $num+1;
$temp_str substr($temp_str0$i)."[".$b_num."-".$e_num."]".substr($temp_str$i+1);
$search_regexp "#".$temp_str."#i";
preg_match_all($search_regexp$str$m);
$matches array_merge($matches$m[0]);
}
print_r($matches); 

еще для домофона:
PHP код:

$str "дом фон домофон гггг";
$search_str "домофон";
$m2 = array();
for(
$i=0$i<strlen($search_str)-2$i++) {
$temp_str substr($search_str$i3);
$search_regexp "#[^ ]*".$temp_str."[^ *]*#i";
echo 
$search_regexp."<br>";
preg_match_all($search_regexp$str$m);
$m2 array_merge($matches$m[0]);
}
$matches array_unique($m2); //избавляемся от повторов
print_r($matches); 


Ch3ck 02.09.2008 19:02

А не проще ли...
PHP код:

$fp=file('стотыщъ.тхт');
foreach(
$fp AS $str) {
if (
$str='двеститыщ') { echo("Есть такое слово..."); }} 


Chaak 02.09.2008 19:49

Цитата:

Сообщение от Ch3ck
А не проще ли...
PHP код:

$fp=file('стотыщъ.тхт');
foreach(
$fp AS $str) {
if (
$str='двеститыщ') { echo("Есть такое слово..."); }} 


вообщем D Mak реализовал ТС скрипт асечки по поиску асек)) :rolleyes:

D Mak 02.09.2008 19:51

Ch3ck ты что нужно сделать читал?
и ваще даже если по твоему можно проще
PHP код:

$fp=file('стотыщъ.тхт');
if(
in_array($fp'двеститыщ')) echo "good :)" 

)

Gifts 03.09.2008 10:34

Причем условие if ($str='двеститыщ') будет выполняться всегда

2TC лично для меня слова "мент" и "козел" очень созвучны, как ты предлагаешь искать настолько похожие слова?)

SponS 03.09.2008 17:24

Цитата:

лично для меня слова "мент" и "козел"
А для меня ТС и ебло.

heretic1990 03.09.2008 17:33

тоже мне мыслители, есть такой скипт!

Цитата:

EugineSearch v.1.0

Инструкция по установке и настройке:

Для установки и работы EugineSearch у Вас должен быть доступ к запуску
скриптов, написанных на PHP. Также крайне желательна возможность
редактирования файлов .htaccess!
* Распакуйте архив eusearch.zip в любой каталог на вашем диске и закачайте файлы на сервер.
* Поставьте права файлам

search.php - rw-r-r
admin.php - rw-r-r
settings.php - rw-rw-r
searchdat - rw-rw-r
ВСЕМ ОСТАЛЬНЫМ - rw-r-r

search.php - Файл в который и ищет все барохло для Ввашего сайта.
admin.php - Файл для Администратора, в нем задаются ключевые слова для поиска, а также адреса. Пароль по умолчанию admin, настоятельно рекомендую его сменить
settings.php - рабочие переменные
up.php - верхняя часть страницы (дизайн)
down.php - нижняя часть страницы (дизайн)
searchdat - Файл базы, где находяися имена и адреса ссылок

Измените дизайн для поисковой страницы добавив код HTML в файлы up.php и down.php, кстати в файле up.php стоит строчка
<title>EugineSearch - Результаты поиска <? print $zapros ?></title>
которая выводит в заголовке страницы что искал скрипт.


Вот форма для отправки поисковых запросов со страницы сайта

<form name=\"formsearch\" method=\"post\" action=\"search.php\">
<input type=\"hidden\" name=\"seenform\" value=\"y\">
Кого ищем:<BR>
<input type=\"text\" name=\"zapros\">
<HR size = '1' color '#000000'>
<input type=\"submit\" name=\"Submit\" value=\"Поиск!\"><BR></form>

пропишите в пункте action путь до Вашего скрипта на сервере.

За подробностями в асю 44600577


Время: 15:35