Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: поиск
 
 автор: Mootch   (17.02.2006 в 21:46)   письмо автору
 
 

Делаю поиск по базе. Хочу, что бы совпадения были выделены жирным, т.е.


SELECT  REPLACE(UPPER(text), '".strtoupper($word)."', '<b>".strtoupper($word)."</b>')... WHERE UPPER(text) like '%".strtoupper($word)."%' 


Пробле состоит в том, что то, что я выделяю выводится в верхнем регистре, а не в том, в каком было написано. Как быть?

   
 
 автор: cheops   (18.02.2006 в 01:48)   письмо автору
 
   для: Mootch   (17.02.2006 в 21:46)
 

А зачем UPPER() и strtoupper() используется - поиск MySQL не зависит от регистра (если только специальную сортировку не используете).

   
 
 автор: Mootch   (18.02.2006 в 01:55)   письмо автору
 
   для: cheops   (18.02.2006 в 01:48)
 

Можно и без них.

а может, что бы добиться цели, воспользоваться возможностями php ? повторюсь, проблема в том, что не получается оставить регистр неизмененным

   
 
 автор: Mootch   (19.02.2006 в 00:00)   письмо автору
 
   для: Mootch   (17.02.2006 в 21:46)
 

так как всё-таки это сделать? Может с помощью регулярных ?

   
 
 автор: cheops   (19.02.2006 в 13:28)   письмо автору
 
   для: Mootch   (19.02.2006 в 00:00)
 

Да вероятно лучше подсветить искомое слово уже средствами PHP.
<?php
  $text 
preg_replace("|(".preg_quote($word).")|i","\\1",$text);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования