Поиск на PHP или подскажите чайнику..

12
F
На сайте с 06.02.2012
Offline
124
501

Сайт простой, 30 страниц на html, добавляю теперь страницы php, техническая информация, таблицы и списки...

Вобщем организовывал поиск. Идея взята отсюда: http://spectator.ru/entry/195

Принцип простой. Создаётся файл с индексом всех страниц.

При индексации помечаются: директория, имя файла, тайтл.

В результате при поиске имеем:

$url - урл страницы в которой встретилось совпадение.

$title - тайтл страницы, используется для анкора ссылки

$worlds - ключевое слова (слова) поиска.

$contents - показываю строчки, в которых найдено совпадение с ключевым словом.

Всё работает нормально, но хочу выделить другим цветом ключевое слово $worlds в строке $contents при выводе результатов поиска.

Как это правильнее сделать?

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

Как я понимаю, надо временно продублировать $url и опять же выделить в дубле $worlds. Или как?

Я слаб в php, упражняюсь с готовыми скриптами...

Braindbrigada
На сайте с 10.01.2010
Offline
84
#1

$worlds = "<span style=\"color:#FEBB03:\">".$worlds."</span>";

Не? :)

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#2

Скорее так:


$worlds = "<span style=\"color:#FEBB03;\">$worlds</span>";
Подпись))
F
На сайте с 06.02.2012
Offline
124
#3

:)Нет.

Результаты поиска выводятся примерно так:

// выводим результаты

echo ("<a target='_blank' href=../".$url.">".$title."</a><br>");

echo ("..." .$contents. "...");

Надо разорвать текст строчки $contents с помощью какой-нибудь функции и подменить в нём $worlds на раскрашенный.

Braindbrigada
На сайте с 10.01.2010
Offline
84
#4
fordzon:

Надо разорвать текст строчки $contents с помощью какой-нибудь функции и подменить в нём $worlds на раскрашенный.

А как $contents формируется? Думаю там и надо рыть... Либо str_replace

IL
На сайте с 20.04.2007
Offline
435
#5
fordzon:
Надо разорвать текст строчки $contents с помощью какой-нибудь функции и подменить в нём $worlds на раскрашенный.

str_replace

preg_replace

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
F
На сайте с 06.02.2012
Offline
124
#6
Braindbrigada:
А как $contents формируется?

При индексации в текстовом файле образуются строчки по тегам br, p, h.., hr итд..

При поиске строчка контента страницы - один элемент массива и есть $contents.

Скрипт поиска дать?

Braindbrigada
На сайте с 10.01.2010
Offline
84
#7

fordzon, тогда str_replace и preg_replace

F
На сайте с 06.02.2012
Offline
124
#8

Похоже начинаю понимать...

Сначала изменяем цвет $worlds, как уже подсказали... Но обзовём его $worlds2

Потом подменяем цвет типа так..

$contents = str_replace ($worlds2, $worlds, $contents);

или как?

Технически как правильно..?

Braindbrigada
На сайте с 10.01.2010
Offline
84
#9


$rw = "<span style=\"color:#FEBB03:\">".$worlds."</span>";
$contents = str_replace ($worlds, $rw, $contents);
F
На сайте с 06.02.2012
Offline
124
#10

Щас испытаю....

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий