Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Объединить содержимое в одинаковых подряд тегах

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
LML
Отправлено: 03 Февраля, 2021 - 05:50:56
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2021  


Помог: 1 раз(а)




Приветствую!

Подскажите, пожалуйста, как правильно построить регулярку.

Имеется текстовая строка от 3 и до 25 символов.
В строке каждый символ раскрашен.
Некоторым символам может быть задан одинаковый цвет.

Например:
CODE (html):
скопировать код в буфер обмена
  1. <span style="color:#bf0d0d;">Ф</span><span style="color:#bf0d0d;">о</span><span style="color:#bf0d0d;">р</span><span style="color:#bf0d0d;">у</span><span style="color:#bfffff;">м</span><span style="color:#bfffff;">ч</span><span style="color:#bf0d0d;">а</span><span style="color:#bf0ddd;">н</span><span style="color:#bf0ddd;">е</span>


Задача: Объединить все символы одного цвета, идущие подряд, под одним тегом, чтобы сократить длину кода.

Необходимо получить:
CODE (html):
скопировать код в буфер обмена
  1. <span style="color:#bf0d0d;">Фору</span><span style="color:#bfffff;">мч</span><span style="color:#bf0d0d;">а</span><span style="color:#bf0ddd;">не</span>


Если цвета всех символов одинаковы (допустим, #bf0d0d) - получить:

CODE (html):
скопировать код в буфер обмена
  1. <span style="color:#bf0d0d;">Форумчане</span>
 
 Top
Vladimir Kheifets
Отправлено: 03 Февраля, 2021 - 11:23:34
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




LML пишет:
Задача: Объединить все символы одного цвета, идущие подряд, под одним тегом, чтобы сократить длину кода.
Необходимо получить:
CODE (html):
скопировать код в буфер обмена
  1. <span style="color:#bf0d0d;">Фору</span><span style="color:#bfffff;">мч</span><span style="color:#bf0d0d;">а</span><span style="color:#bf0ddd;">не</span>

Добрый день!
Если реализовать эту задачу, то такой результ не получится т.к.
символ "a" имеет тот же цвет, что что и символы "Фору".
Результат в Ваше случае будет звучать по французки "Форуа"
Реализовать эту задачу можно без регулярки с помощью
класса DOMDocument или с регуляркой
Спойлер (Отобразить)
Удачи!

(Отредактировано автором: 03 Февраля, 2021 - 11:24:00)

 
 Top
LML
Отправлено: 04 Февраля, 2021 - 02:55:57
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Февр. 2021  


Помог: 1 раз(а)




Vladimir Kheifets пишет:
Добрый день!
Если реализовать эту задачу, то такой результ не получится т.к.
символ "a" имеет тот же цвет, что что и символы "Фору".
Результат в Ваше случае будет звучать по французки "Форуа"
Реализовать эту задачу можно без регулярки с помощью
класса DOMDocument или с регуляркой
Спойлер (Отобразить)
Удачи!


Спасибо за помощь! Жаль, что сообщений не хватает нажать "Спасибо" :)

Отрицательный результат - тоже результат.
Я хоть теперь не буду уже с этим заморачиваться.
Столько уже вариантов испробовал, пока не решил у спецов спросить.
Всё-таки надеялся, что у меня просто мозгов не хватает, чтобы решить эту задачу...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB