Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $text='';
- $str_1=array(
- 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
- "А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я",
- "(",")",'"',"'",'.',',',':',';','>','<',' ','!','?');
- $str_2=array(
- 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
- "а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я",
- '','','','','','','','','','',' ','','');
- $text_poisk_post='';
- if(isset($_POST["text"])){$text_poisk_post=htmlspecialchars(stripslashes(strip_tags(trim(str_replace($str_1,$str_2,$_POST["text"])))));}
- //--- загрузка базы
- $user_book=$_SERVER['DOCUMENT_ROOT'].'/-php-/poisk/info.txt';
- if(file_exists($user_book)){$poisk_if='ok';}else{$poisk_if='no';}
- if(!$text_poisk_post){$poisk_if='no';}
- $book_arr_count=0;// количество
- if($poisk_if=='ok'){
- $text=file_get_contents($user_book); $book_arr=explode("\n", $text); $book_arr_count=count($book_arr)-1;
- $i=0; while ($i < $book_arr_count) { $book_m[$i]=explode("] _ [", $book_arr[$i]);
- $poisk_bd[$i][0]=0;// процент сходства
- $poisk_bd[$i][1]=$book_m[$i][0];// URL где находится книга
- $poisk_bd[$i][2]=str_replace($str_1,$str_2,$book_m[$i][1]); // заголавок title
- $poisk_bd[$i][3]=str_replace($str_1,$str_2,$book_m[$i][11]); // краткое описание description
- $i++;}
- }//--- загрузка базы
- if($poisk_if=='ok'){
- $poisk_post_arr=explode(" ", $text_poisk_post);
- $poisk_post_arr_count=count($poisk_post_arr);
- $post_i=0;while ($post_i < $poisk_post_arr_count) {
- // проверяем заголавок title
- $i=0; while ($i < $book_arr_count) {
- $poisk_bd_title=explode(" ",$poisk_bd[$i][2]);
- $poisk_bd_title_count=count($poisk_bd_title);
- $ii=0;while ($ii < $poisk_bd_title_count) {
- similar_text($poisk_bd_title[$ii],$poisk_post_arr[$post_i] , $perc_1); // сравниваем
- if($perc_1>90){$poisk_bd[$i][0]=$poisk_bd[$i][0]+1;} // сравниваем совпадения 90%
- $ii++;}
- $i++;}
- // проверяем заголавок title
- // провиряем краткое описание description
- $i=0; while ($i < $book_arr_count) {
- $poisk_bd_title=explode(" ",$poisk_bd[$i][3]);
- $poisk_bd_title_count=count($poisk_bd_title);
- $ii=0;while ($ii < $poisk_bd_title_count) {
- similar_text($poisk_bd_title[$ii],$poisk_post_arr[$post_i] , $perc_1); // сравниваем
- if($perc_1>90){$poisk_bd[$i][0]=$poisk_bd[$i][0]+1;} // сравниваем совпадения 90%
- $ii++;}
- $i++;}
- // провиряем краткое описание description
- $post_i++;}
- }
- // ----- фильтруем ----------------
- array_multisort($poisk_bd, SORT_DESC);
- // ----- фильтруем ----------------
- //========================= Вывод ==============================
- echo '<p style="text-align:center;">Поиск по фразе:<b>'.$text_poisk_post.'</b></p>';
- $i=0;
- while ($i < $book_arr_count) {
- if($poisk_bd[$i][0]==0){$i=$book_arr_count;}else{
- ?>
- <div>
- <a href="<?php echo $poisk_bd[$i][1]; ?>" style="display:block; font-weight:bold;"><?php echo $poisk_bd[$i][2]; ?></a>
- <?php echo $poisk_bd[$i][3]; /*краткое описание description*/ ?>
- </div>
- <?php
- }$i++;}
- //========================= Вывод ==============================
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement