Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.84.18.52] |
|
Сообщ.
#1
,
|
|
|
Подскажите, пожалуйста, регулярное выражение замены всех таймкодов (чисел, разделённых двоеточиями) таким образом:
Исходная строка: 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 скрипта. |
Сообщ.
#2
,
|
|
|
Сообщ.
#3
,
|
|
|
Спасибо, но работает только если в строке два таймкода. В моем случае в строке могут быть десятки таймкодов. Как это учесть? Прошу прощения за глупый вопрос, но никак не найду времени изучить регулярные выражения.
|
Сообщ.
#4
,
|
|
|
Цитата ViH @ Спасибо, но работает только если в строке два таймкода. Приведи пример с 3 и 4-мя таймкодами. |
Сообщ.
#5
,
|
|
|
Например, такая строка:
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> |
Сообщ.
#6
,
|
|
|
Стоп, я понял о чем речь ... Секунду. |
Сообщ.
#7
,
|
|
|
Лови пример на PHP:
<?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"; ?> Онлайн тест. |
Сообщ.
#8
,
|
|
|
Огромнейшее Спасибо! Работает как надо!!!
Там в примере одна строка, просто я её записал в несколько. Прошу прощения за путаницу: $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); |