Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Подсвечивание искомого текста в скрипте поиска  (Прочитано 2506 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Как-то так.
Объединить title вместе.
К ним применить замену.
А результат подставить  вместо тех титлов.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Ну все я завис...


...*слышно щелестение мозга
...
...
Надо сделать функцию title, в которой при обнаружении $words - это же $words выделяется чЁЁЁЁрным цветом, и уже с выделением $title вылетает на сайт. :D

Пользователь решил продолжить мысль 16 Декабря 2009, 13:10:52:
http://193.178.190.165/help_me_aleksandr_please/
« Последнее редактирование: 16 Декабря 2009, 15:12:12 от TrEK »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Подсвечивание искомого текста в скрипте &
« Ответ #17 : 16 Декабря 2009, 15:13:49 »
Попробуем.
Дано.
echo '<table width="600" height="20" align="center" border="2" cellpadding="3" cellspacing="0" bgcolor="lightgrey">
                           
                            <!--DWLayoutTable-->
                            <tr>
                          <td id="w" width="700" height="20" valign="middle"><a href="http://www.films.com/?page=item&id='.$id.'" title="'.$title.'"> '.$title_en.' - </font color=black><b>'.$title.'</b></font></a></td>
                       
                            </tr></table>';
Методом последовательных изменений проделаем все манипуляции. На каждом этапе проверяйте работу.
1. Разобьем на  части (парность кавычек проверяйте сами).
echo '<table width="600" height="20" align="center" border="2" cellpadding="3" cellspacing="0" bgcolor="lightgrey">
                           
                            <!--DWLayoutTable-->
                            <tr>
                          <td id="w" width="700" height="20" valign="middle"><a href="http://www.films.com/?page=item&id='.$id.'" title=";
echo $title.'> '.$title_en;
echo ' - </font color=black><b>'.$title.'</b></font></a></td>
                       
                            </tr></table>';

2. Вместо echo $title.'> '.$title_en;
$temp =$title.'> '.$title_en;
echo $temp;
3. К $temp применяем замену перед echo $temp вставляем.
$temp=preg_replace("/шило/","мыло", $temp);
Все.
PS.
Или еще проще, попробуйте.
3. $temp="пролог".$temp."эпилог";
« Последнее редактирование: 16 Декабря 2009, 15:36:02 от alexander.pronin »

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
на первом шаге нарушается целостность таблицы... :(
http://193.178.190.165/help_me_aleksandr_please/

и не выводит результат уже :((((

заменил
echo '<table width="600" height="20" align="center" border="2" cellpadding="3" cellspacing="0" bgcolor="lightgrey">
                            <!--DWLayoutTable-->
                            <tr>
                          <td id="w" width="700" height="20" valign="middle"><a href="http://www.films.com/?page=item&id='.$id.'" title="'.$title.'"> '.$title_en.' - </font color=black><b>'.$title.'</b></font></a></td>
                      
                            </tr></table>';


на


echo '<table width=700 height="20" align="center" border="2" cellpadding="3" cellspacing="0" bgcolor="lightgrey">
                            <!--DWLayoutTable-->
                            <tr>
<td id="w" width="700" height="20" valign="middle"><a href="http://www.films.com/?page=item&id='.$id.'" title="'; echo $title.'" > '.$title_en; echo '- </font color=black><b>'.$title.'</b></font></a></td>
                            </tr></table>';



///
Пропустил что-ли что-то ?,.. хм..

Пользователь решил продолжить мысль 16 Декабря 2009, 18:42:59:
Неа, не работает...


Вот этого куска не выводит на штмл-страничку вообще скрипт:
echo $title.'> '.$title_en;
echo ' - </font color=black><b>'.$title.'</b></font></a></td>
                        
                            </tr></table>';


тоесть echo там недопустимое видимо... но странно почему?...
Или же надо сделать чтоб была  иерархия echo... а не один обрывал другого... чтоб они вложение были в основное echo.
« Последнее редактирование: 16 Декабря 2009, 20:44:21 от TrEK »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Сейчас посмотрел и ужаснулся. Вчера, очевидно, произошло замораживание мозга и мы пациенту отрезали здоровую ногу. ;D
Во всем виновато нежелание смотреть код и маниакальное желание объединить титлы.
А теперь к делу.
Расчлененку делать не будем.
$title.'" > Это закрытие тега <a... и здесь препарировать ничего не надо.
Все манипуляции надо проводить с $title_en. Можно это произвести до echo и ничего в длинном эхо не менять. ;D

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
 ;D Ок, в длинном echo не будем менять.. щас попробуем препарирование. :police:

и все же.. не судите строго:
$temp=preg_replace("/шило/","мыло", $temp); ---> $temp=preg_replace('<span style="background-color: yellow">'.$words.'</span>',$words,$temp);
Нет ну интуитивно я догадываюсь, что оно не будет работать, но хотелось бы узнать поподробнее...:)
« Последнее редактирование: 17 Декабря 2009, 10:56:08 от TrEK »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Чисто интуитивно, нет /.../ в шаблоне.

Пользователь решил продолжить мысль 17 Декабря 2009, 11:05:38:
Вы меняете мыло на шило, а обычно меняют шило на мыло. Это другой бызнес. ;D
« Последнее редактирование: 17 Декабря 2009, 11:05:38 от alexander.pronin »

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
$temp=preg_replace(/$words/,'<span style="background-color: yellow">'.$words.'</span>',$temp);

Так?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Похоже. Ждем результатов.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Похоже. Ждем результатов.
http://193.178.190.165/help_me_aleksandr_please/


Поламался :)
хм...  что то не то

Не выводит $temp перед кириличнім значением...
« Последнее редактирование: 17 Декабря 2009, 11:36:15 от TrEK »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Ничего не понял.
Понял только, что Вы уже научились менять носки на водку и еще что-то. ;D

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Ничего не понял.
Понял только, что Вы уже научились менять носки на водку и еще что-то. ;D

Да, носки я меняю на водку со свистом... Это получается меганедопустимо и архиневозможно :)


прозаичный вопрос: если сайт выводит в ютф (<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
)

а из БД вытягивает в вин-1251... можно в тех местах вытягивания чтоб кирилица отображалась нормально*?... или это надо в мета-теге указать вин-1251?
« Последнее редактирование: 17 Декабря 2009, 11:44:26 от TrEK »


Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
в общем, сменой мета-тегов здесь не обойтись.. ну да и ладно... махинации с БД мне незачем делать.
А на тестовом хосте сойдет так ... главное подсветку сделать.

Пользователь решил продолжить мысль 18 Декабря 2009, 12:59:45:
:-[ :-[ :-[
« Последнее редактирование: 18 Декабря 2009, 12:59:45 от TrEK »

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.