Войти
Меню :
php book (148)
search (6)
php (390)



Blog (1953)
other (410)
php (390)
js (301)
html (153)
php book (148)
css (147)
пк (124)
html tags (63)
js tag (56)
windows (48)
js method (44)
jquery (43)
php array (39)
Показать еще :
ruweb.net (37)
text (37)
js date (33)
form html (30)
online (29)
link (26)
fonts (24)
js events (22)
dosite (22)
php file (21)
atom (20)
foto (20)
input (19)
database (19)
svg (18)
lingvo (18)
forum (18)
hosting (17)
php date (17)
mysql (17)
php img (16)
фото (16)
info (15)
android (15)
img (15)
php time (15)
color (15)
js url (14)
js time (14)
jsphp (14)
xiaomi (14)
notepad (14)
board (14)
yandex (13)
select (13)
знак (13)
htaccess (13)
table (13)
osclass (13)
$ server (12)
php path (12)
download (12)
vs code (11)
icon (11)
dw block (11)
html book (11)
keyboard (11)
css img (10)
paint (10)
mouse (10)
ось (10)
form (10)
js delete (10)
ftp (9)
hover (8)
iframe (8)
php url (7)
cookie (7)
comment (7)
list (6)
hey tag (6)
php get (6)
search (6)
js vars (6)
нок (6)
click (6)
canvas (6)
console (5)
js id (5)
value (5)
mb (5)
tag a (5)
js math (5)
heading (5)
year (5)
reg.ru (5)
web (5)
ok (5)
xml (5)
js file (5)
week (4)
day (4)
ssl (4)
adminka (4)
js img (4)
youtube (4)
php var (4)
ucoz (4)
scandir (4)
bbcode (4)
pages (4)
month (4)
vk (4)
2022 (4)
submit (4)
task (4)
js form (4)
word (4)
base64 (4)
symbols (4)
js hash (4)
news (4)
js book (4)
numbers (4)
games (4)
folder (4)
https (3)
file (3)
куб (3)
units (3)
captcha (3)
line (3)
php day (3)
js post (3)
рся (3)
aimp (3)
404 (3)
padding (3)
video (3)
domen (3)
akaso (2)
qr code (2)
tag hr (2)
kfc (2)
counter (2)
seo (2)
prompt (2)
src (2)
height (2)
sitemap (2)
details (2)
typeof (2)
blob (2)
google (2)
arrows (2)
atom 11 (1)
atom 10 (1)
atom 7 (1)
atom 9 (1)
atom 8 (1)
php 5 (1)
atom 6 (1)
php 17 (1)
atom 15 (1)
atom 14 (1)
atom 13 (1)
atom 16 (1)
atom 17 (1)
atom 12 (1)
php 27 (1)
php 30 (1)
php 26 (1)
php 25 (1)
php 23 (1)
php 24 (1)
php 28 (1)
php 38 (1)
php 41 (1)
php 4 (1)
php 22 (1)
cursor (1)
php 19 (1)
php 20 (1)
php 8 (1)
php 9 (1)
php 10 (1)
php 32 (1)
js no4 (1)
php 7 (1)
#html (1)
chart (1)
atom 3 (1)
atom 4 (1)
atom 2 (1)
atom 1 (1)
header (1)
php 40 (1)
php 3 (1)
php 33 (1)
replace (1)
php 31 (1)
php 34 (1)
php 18 (1)
atom 5 (1)
date (1)
aimp 2 (1)
aimp 1 (1)
aimp 3 (1)
php 44 (1)
php 45 (1)
php 13 (1)
php (1)
php 2 (1)
js 10 (1)
js 9 (1)
jino (1)
php 37 (1)
js 8 (1)
js 4 (1)
js 5 (1)
js 6 (1)
js 1 (1)
js 7 (1)
php 1 (1)
php 43 (1)
ftp 5 (1)
php 15 (1)
php 36 (1)
webp (1)
php 42 (1)
ftp 4 (1)
ftp 3 (1)
ftp 2 (1)
php 6 (1)
php 35 (1)
php 11 (1)
speed (1)
atom 20 (1)
php 16 (1)
ftp 1 (1)
scroll (1)
opera (1)
php 14 (1)
atom 18 (1)
archive (1)
atom 19 (1)
php 29 (1)
php 39 (1)
rutube (1)
php 12 (1)
втб (1)
php 21 (1)
нод (1)
font (1)
js 2 (1)
name (1)
smile (1)
js 3 (1)

Поиск по заголовкам php

Как искать по заголовкам, сделать поиск по заголовкам, мы уже делали похожий поиск на страницу, только по контенту см. в меню значок лупы.

Теперь - нам нужно определиться, как и где мы будем брать заголовки и что вообще значит заголовки и поиск по заголовкам!?

Если у вас формируется главная через скрипт, то изначально, где-то эти заголовки уже были перебраны в цикле, либо изначально были где-то в массиве... в общем давайте разбираться!

Поиск по заголовкам php

  1. Алгоритм поиска по заголовкам
  2. Поиск по заголовкам -> база данных
  3. Поиск по заголовкам -> файл
  4. Живой пример поиска по заголовкам
  5. Готовый код поиска по заголовкам
  6. Поиск по контенту
  7. Скачать

    Алгоритм поиска по заголовкам

    С самого начала вы должны себе представлять, хотя бы примерно, как будет поиск по заголовкам работать!? Т.е. представлять себе алгоритм!

    1). Надо получить весь контент

    2). Пропустить через скрипт поиска весь контент и получить результат!

    3). Ниже показаны два варианта реализации верхних двух пунктов!


  1. Поиск по заголовкам из базы данных

    Как искать по заголовкам если у ваш сайт в базе данных!? У вас есть строка, в которой должен быть и заголовок страницы и где-то в соседнем столбце адрес на страницу.

    Вам нужно узнать в каком столбце находится заголовок и как мы делали вот здесь -> Массив всех ссылок

    Только вместо ссылки ищем столбец, который отвечает за заголовок!

    Получим из формы искомое слово

    $poisk = $_POST["poisk"];//переменная искомое слово

    И вместо вот такой строки(из кода приведенного по выше идущей ссылке)

    $array_Url[] = $row["столбец отвечающий за ссылку"];

    ... у вас должно быть что-то похожее на:

    if(@substr_count($row["столбец отвечающий за заголовок"], $poisk) and $poisk)

    {

    $result = $poisk ."найдено в заголовке страницы" . $row["столбец отвечающий за заголовок"];

    }

    Ну и искомое слово отправляется из простой формы с инпутом...

    <form method="POST" action="">

    <input type="text" name="poisk">

    <input type="submit" name="button" value="ОТПРАВИТЬ">

    </form>


  2. Поиск по заголовкам по файлам

    Главное условие - что у нас есть какая-то страница, типа карты сайта (я не буду рассказывать - почему мы не можем взять её для примера!)

    Либо страница sitemap.xml - вытащить все ссылки оттуда не так сложно, как может показаться!

    Мы сделали специальную, страницу пример, куда выведем все заголовки с нашего сайта, вы можете на эту страницу посмотреть

    Специальная страница для поиска по заголовкам!?

    Зачем эта страница нужна!? Для того, чтобы показать живой пример, как это работает... и как нужно обработать такую страницу. чтобы можно было запустить поиск по этим заголовкам! Искать же как-то нужно...

    1). С помощью функции file_get_contents получим все, что находится на данной странице:

    $file = file_get_contents('https://dwweb.ru/__a-data/__all_for_scripts/__examples/php/search/test_main.php' );
    2). Откройте страницу и нажмите ctrl + U и вы увидите. что все ссылки находятся в одном блоке div - получим все, что внутри div с id="main" с помощью -> preg_match_all
    preg_match_all('#<div id="main">(.+?)</div>#is', $file , $arr);

    3). Если мы выведем $arr[1] с помощью print_r, то увидим массив с одной ячейкой...

    Не буду показывать сами потренируйтесь...

    Но нам сейчас эту ячейку надо превратить в массив нам нужна функция explode и нам понадобится нулевая ячейка этого массива $arr[1][0], и разобьем её по разделителю перенос строки...

    $ARRAY_URL = explode("\n",$arr[1][0]) ;

    У нас получится массив(выведем 10 строк массива):

    Array

    (

    [0] =>
    [1] => Warning: file(/home/dwwebru/domains/dwweb.ru/___main_new_dw/__ROTATE/__MAIN_ROTATE.dat): failed to open stream: No such file or directory in /home/dwwebru/domains/dwweb.ru/public_html/__a-data/__all_for_scripts/__examples/php/search/test_main.php on line 15
    [2] => [3] =>

    )


    4). Создадим отдельную переменную, которая будет числом ячеек массива

    $ARRAY_URL_COUNT = count( $ARRAY_URL );

    -> зачем!? Я не буду рассказывать -> просто посмотрите на ниже идущие два варианта и скажите, какой будет лучше? И почему!?

    4.1).

    $ARRAY_URL_COUNT = count( $ARRAY_URL );

    for ($i = 0; $i < $ARRAY_URL_COUNT; $i++)

    {

    }

    4.2).

    for ($i = 0; $i < count( $ARRAY_URL ); $i++)

    {

    }

    5).

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

    if($_POST['button'])

    {

    for ($i = 0; $i < $ARRAY_URL_COUNT; $i++)

    {

    if (strpos( $ARRAY_URL[$i] , $poisk) != false)

    {

    $line_count++;

    $line_result .= '<red>'.$line_count .').</red> '. $ARRAY_URL[$i] ."\n" ;

    }

    }

    if (!$line_count)

    {

    $vivod_info = "Простите, поиск ничего не дал!<br>

    Попробуйте ввести часть интересующего слова<br>

    Попробуйте изменить строку поиска! ";

    }

    else

    {

    $vivod_info = 'Всего найдено совпадений <red>'.$line_count.'</red>: <br>' . $line_result;

    }

    }

    6). И последнее, что нам понадобится для поиска по заголовкам данного примера - это форма, чтобы отправить поисковое слово в поиск оп заголовкам...

    <form method="POST" action="">

    <input type="text" name="poisk">

    <input type="submit" name="button" value="ОТПРАВИТЬ">

    </form>

    Получать будем слово так:

    if($_POST['poisk']){$poisk = examplestrtolower(trim(strip_tags($_POST['poisk'])));}
    7). Чуть не забыл... будем использовать свою функцию strtolower для кириллицы

    function examplestrtolower($str) { $ru_array = array('А' => 'а','Б' => 'б','В' => 'в','Г' => 'г','Д' => 'д', 'Е' => 'е','Ё' => 'ё','Й' => 'й','Ж' => 'ж','З' => 'з','И' => 'и','К' => 'к','Л' => 'л','М' => 'м','Н' => 'н','О' => 'о','П' => 'п','Р' => 'р','С' => 'с','Т' => 'т','У' => 'у','Ф' => 'ф','Х' => 'х','Ц' => 'ц','Ч' => 'ч','Ш' => 'ш','Щ' => 'щ','Ъ' => 'ъ','Ы' => 'ы','Ь' => 'ь','Э' => 'э','Ю' => 'ю','Я' => 'я'); return strtr($str,$ru_array ); }


  3. Живой пример поиска по заголовкам

    Теперь выше приведенный код поиска по заголовкам нужно здесь просто вывести:

    Как работает поиск по заголовкам

    Введите в поле, слово либо словосочетание и нажмите искать, если не знаете, что искать в качестве примера - забейте слово поиск wall

    Что будем искать!?


  4. Готовый код поиска по заголовкам

    Дарю... не забудь сказать спасибо...

    function examplestrtolower($str) { $ru_array = array('А' => 'а','Б' => 'б','В' => 'в','Г' => 'г','Д' => 'д', 'Е' => 'е','Ё' => 'ё','Й' => 'й','Ж' => 'ж','З' => 'з','И' => 'и','К' => 'к','Л' => 'л','М' => 'м','Н' => 'н','О' => 'о','П' => 'п','Р' => 'р','С' => 'с','Т' => 'т','У' => 'у','Ф' => 'ф','Х' => 'х','Ц' => 'ц','Ч' => 'ч','Ш' => 'ш','Щ' => 'щ','Ъ' => 'ъ','Ы' => 'ы','Ь' => 'ь','Э' => 'э','Ю' => 'ю','Я' => 'я'); return strtr($str,$ru_array ); }

    if($_POST['poisk']){$poisk = examplestrtolower(trim(strip_tags($_POST['poisk'])));}

    $file = file_get_contents('https://dwweb.ru/__a-data/__all_for_scripts/__examples/php/search/test_main.php' );

    preg_match_all('#<div id="main">(.+?)</div>#is', $file , $arr);

    $ARRAY_URL = explode("\n",$arr[1][0]) ;

    $ARRAY_URL_COUNT = count( $ARRAY_URL );

    if($_POST['button'])

    {

      for ($i = 0; $i < $ARRAY_URL_COUNT; $i++)

      {

        if (strpos( $ARRAY_URL[$i] , $poisk) != false)

        {

        $line_count++;

        $line_result .= '<red>'.$line_count .').</red> '. $ARRAY_URL[$i] ."\n" ;

        }

      }

      if (!$line_count)

      {

      $vivod_info = "Простите, поиск ничего не дал!<br>

      Попробуйте ввести часть интересующего слова<br>

      Попробуйте изменить строку поиска! ";

      }

      else

      {

      $vivod_info = 'Всего найдено совпадений <red>'.$line_count.'</red>: <br>' .

      $line_result;

      }

    }

    if(!$vivod_info){$vivod_info = 'Что будем искать!?';}

    echo $vivod_info;

P.S.

Периодически приходится переделывать код, который мы написали раньше.

Меняется структура сайта, и если примеры были основаны на страницах, которые попали под чистку, то эти примеры и коды перестают работать!

Такое обновление неминуемо!

Если вы не остановились!

И какие-то моменты, сейчас кажутся дикими, а раньше это было круто!

Я не говорю, что я достиг "Олимпа", но все же знаний немного прибавилось!

Не стесняемся говорить спасибо!
О комментах : 05.11.2024
Свои комменты в ожидании переделки!
Когда сделаю не знаю!
Времени нет...
Друзья! Пожалуйста держите себя в рамках приличия!
Иначе сообщение будет удалено, вас в бан - все просто!
Но если, сил нет как хочется высказать всё, что вы думаете об этом, пожалуйста - комменты от Vk - форма ниже:
Помочь проекту DwWeb.ru

Поделиться ссылкой! C друзьями или врагами!

Этим вы очень поможете проекту! Заранее огромное спасибо!

Теги:
Поиск по заголовкам ph
ruweb
См. интсрукция по ruweb. dwweb.ru есть здесь:
Все соцсети в одном месте!
defense_js Разное :Игра "пятнашки"
Угадай страну по флагу

Кальклятор
Математика онлайн

Списки шифрования
Часы

Числа словами
Названия чисел(max=10305)
Графики

Qr код онлайн

Как сделать сайт?
Md5 онлайн
Sitemap.html
Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2025 Контакты. Лучший хостинг : RUWEB + помощь по RUWEB Сайт работает круглосуточно 24/7.
Страница загружена за : 0.215949 секунд.