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
Форумы портала PHP.SU :: Версия для печати :: Объединить содержимое в одинаковых подряд тегах
Форумы портала PHP.SU » PHP » Регулярные выражения » Объединить содержимое в одинаковых подряд тегах

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

1. LML - 03 Февраля, 2021 - 05:50:56 - перейти к сообщению
Приветствую!

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

Имеется текстовая строка от 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>
2. Vladimir Kheifets - 03 Февраля, 2021 - 11:23:34 - перейти к сообщению
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 или с регуляркой
Спойлер (Отобразить)
Удачи!
3. LML - 04 Февраля, 2021 - 02:55:57 - перейти к сообщению
Vladimir Kheifets пишет:
Добрый день!
Если реализовать эту задачу, то такой результ не получится т.к.
символ "a" имеет тот же цвет, что что и символы "Фору".
Результат в Ваше случае будет звучать по французки "Форуа"
Реализовать эту задачу можно без регулярки с помощью
класса DOMDocument или с регуляркой
Спойлер (Отобразить)
Удачи!


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

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

 

Powered by ExBB FM 1.0 RC1