Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522

Выделение цветом слов

29.05.2013, 14:14. Показов 7577. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Нужно выделить цветом поисковую фразу. Все нормально работает, только если будет точное совпадение, а мне нужно чтобы выделялись слова вне зависимости от окончания, префикса, суффикса
PHP
1
2
3
4
5
6
7
8
if ( ! empty($rSphinx["matches"]) ) { // если есть результаты поиска - обрабатываем их
   $i = 1;
   foreach ( $rSphinx["matches"] as $product => $info ) {
      echo '<b>'.$i.'</b> --- '. $product . ' - <br />' . $info['weight'].' - '. 
      preg_replace('~' . $searchPh . '~ui', '<span style="color:red">$0</span>', $info['attrs']['name']) . "<br /><br />";
      $i++;
   }
}
Здесь на форуме я нашел такую регулярку
PHP
1
preg_replace('~' . $searchPh . '~ui', '<span style="color:red">$0</span>', $info['attrs']['name']);
но она как уже красит слова с точным совпадением.
Как можно ее переделать? или другое решение может есть..
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.05.2013, 14:14
Ответы с готовыми решениями:

Выделение цветом пункта меню + иконка
Здравствуйте. Подскажите как можно присвоить свой стиль определенному пункту из блока (categories) и поставить рядом иконку к...

Пропало выделение строчек разным фоновым цветом
Вот код php код самой таблицы &lt;?php foreach($items as $item){ $images=explode(&quot;,&quot;,$item-&gt;getData('image_collection')); echo...

Выделение красным цветом слов маленькими буквами до 4 букв
Здравствуйте. Данный код выделяет красным цветом слова, написанные заглавными буквами, длина которых 5 букв и более. Помогите, пожалуйста,...

10
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
29.05.2013, 15:24
может как-та так
PHP
1
preg_replace('~[a-zA-Z]{1,4}'  .$searchPh.  '[a-zA-Z]{1,4}~ui', '<span style="color:red">$0</span>', $info['attrs']['name']);
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
29.05.2013, 15:57  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
может как-та так
неа, так ваще никак

Добавлено через 2 минуты
тексты на русском, кодировка ютф8
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
29.05.2013, 16:17
а если прсто, от 1 до 4 любых символов
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
31.05.2013, 14:00  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
а если прсто, от 1 до 4 любых символов
не понял, что за "просто".
Ребята как сделать на регулярке, чтобы не обращал внимания на окончания. Например, слово медицинский, сейчас выделяется цветом тока часть слова медицин (специальная ф-я все отрезает и оставляет основную часть слова).
Как переделать регулярку?
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
01.06.2013, 22:06
PHP
1
'~[^a-zA-Z0-9]{1,4}'.$searchPh.'[^a-zA-Z0-9]{1,4}~ui'
Я имел ввиду, что-то наподобие этого
1
 Аватар для Art
153 / 153 / 56
Регистрация: 20.12.2011
Сообщений: 1,614
01.06.2013, 22:14
Как-то раз приходилось сталкиваться с задачей, где как раз нужно было учитывать окончания слов. Использовал эту функцию. Возможно, вам она поможет.
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
01.06.2013, 22:51  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
Я имел ввиду, что-то наподобие этого
попробую.
Цитата Сообщение от Art92 Посмотреть сообщение
Использовал эту функцию.
интересная ф-я, первый раз вижу. правда не понимаю как ее использовать для моей задачи. Еще я думаю, она медленее будут работать чем регулярка, правильно понимаю(?), пока свой алгоритм отсчитает))
Ваще думал, задача тривиальная и решается с помощью регулярок, ну смотрите, берется строка компьютер, и надо просто соединить к его заду всевозможные сочетания букв (ну как в регулярке обозначается любой символ) + дать понять той же регулярке, что это не разрывная строка
0
 Аватар для Art
153 / 153 / 56
Регистрация: 20.12.2011
Сообщений: 1,614
02.06.2013, 08:27
Love_and_Peace, на счет того, медленнее или быстрее, честно говоря не знаю.
А помочь данная функция вам сможет, допустим, для поиска нужных слов у которых разные окончания (например, компьютер и компьютеров).
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
03.06.2013, 12:29  [ТС]
Цитата Сообщение от Art92 Посмотреть сообщение
(например, компьютер и компьютеров).
получается мне нужен словарь со все возможными окончаниями, суффиксами и префиксами?
0
 Аватар для Art
153 / 153 / 56
Регистрация: 20.12.2011
Сообщений: 1,614
03.06.2013, 12:33
Love_and_Peace, да, получается для вашей задачи вам необходимы словари.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.06.2013, 12:33
Помогаю со студенческими работами здесь

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

Выделение красным цветом, сигнализация
Здравствуйте, есть запрос: &lt;?php // коннект к базе $conn = oci_connect(&quot;questions&quot;, &quot;questions&quot;, &quot;asutp_nk&quot;,'AL32UTF8');...

Выделение цветом подстроки в строке
Столкнулся с такой проблемой. Нужно выделить определённый текст цветом. Пытался через preg_replace, и нужные тэги, но не выходит. Грубо...

Выделение строк разным цветом по значению из БД
Есть таблица, в которую циклом выводятся данные из БД. Все данные в БД имеют поле &quot;Статус&quot;. Вопрос, как в этой таблице выделить...

RichEdit - Выделение цветом слов
У мя условие, я выделяю текст в ричедите, по нажатию кнопки проверяется если слово больше 12 символов, то окрашиваются последние 3 символа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru