Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/37: Рейтинг темы: голосов - 37, средняя оценка - 4.81
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522

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

29.05.2013, 14:14. Показов 7538. Ответов 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 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru