Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > RegExp > Регулярное выражение для замены всех таймкодов в строке (на PHP) |
Автор: ViH 18.03.24, 13:20 |
Подскажите, пожалуйста, регулярное выражение замены всех таймкодов (чисел, разделённых двоеточиями) таким образом: Исходная строка: Lorem 1:06:16 ips48:5um. После замены: Lorem <span class="time">1:06:16</span> ips<span class="time">48:5</span>um. p. s. Это нужно для PHP скрипта. |
Автор: Majestio 19.03.24, 08:01 |
Смотри тут. |
Автор: ViH 19.03.24, 08:56 |
Спасибо, но работает только если в строке два таймкода. В моем случае в строке могут быть десятки таймкодов. Как это учесть? Прошу прощения за глупый вопрос, но никак не найду времени изучить регулярные выражения. |
Автор: Majestio 19.03.24, 10:10 |
Приведи пример с 3 и 4-мя таймкодами. |
Автор: ViH 19.03.24, 12:08 |
Например, такая строка: 1:10 - some text<br> 1:20 - some text<br> 1:30 - some text<br> 1:40 - some text<br> После замены: <span class="time">1:10</span> - some text<br> <span class="time">1:20</span> - some text<br> <span class="time">1:30</span> - some text<br> <span class="time">1:40</span> - some text<br> |
Автор: Majestio 19.03.24, 13:45 |
Стоп, я понял о чем речь ... Секунду. |
Автор: Majestio 19.03.24, 14:05 |
Лови пример на PHP: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> <?php $str1 = "Lorem 1:06:16 ips48:5um."; $str2 = "1:10 - some text<br>"; $replacement = '<span class="time">$0</span>'; $new1 = preg_replace('/\d+:\d+(:\d+)?/', $replacement, $str1); $new2 = preg_replace('/\d+:\d+(:\d+)?/', $replacement, $str2); echo "$new1\n"; echo "$new2\n"; ?> Онлайн тест. |
Автор: ViH 19.03.24, 14:21 |
Огромнейшее Спасибо! Работает как надо!!! Там в примере одна строка, просто я её записал в несколько. Прошу прощения за путаницу: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> $str = "1:10 - some text<br>1:20 - some text<br>1:30 - some text<br>1:40 - some text<br>"; $replacement = '<span class="time">$0</span>'; $res = preg_replace('/\d+:\d+(:\d+)?/', $replacement, $str); echo ($res); |