Допустим у нас в переменной есть некий текст, в котором часто встречаются строки типа "71:57 (12:17, 21:7, 20:13, 18:20)", нужно осуществить замену всех первых чисел (в примере 71:57) на <b>71:57</b>. Не могу понять как в данном случае использовать preg_replace. Вот кусок php:
$content = preg_replace('![0-9]{3}:[0-9]{3} \(!', '<b></b> (', $content);
Составил регулярку для выбора нужного участка, а что прописать между '<b></b> что бы сохранить цифры?
Спустя 16 минут, 3 секунды (9.06.2011 - 20:44) alex12060 написал(а):
$str = '71:57 (12:17, 21:7, 20:13, 18:20)';
$content = preg_replace('#[0-9]{0,2}:[0-9]{0,2}#', '<b>$0</b>', $str);
echo $content;
Спустя 5 минут, 28 секунд (9.06.2011 - 20:49) inpost написал(а):
Необходимое берёшь в скобки, скобки - это своего рода копирование выделенной части, а так, где идёт замена, подставляешь переменную. В каждой новой скобке - переменная увеличивается на 1, вставляется так: \\1, \\2, \\3, или $1,$2,$3. Если будешь писать \\0 ,либо $0 , по попадёт полное вхождение поиска, то есть в данном случае строку [0-9]{3}:[0-9]{3} \(
Спустя 2 минуты, 54 секунды (9.06.2011 - 20:52) DedMorozzz написал(а):
alex12060, так позаменяет всё
Спустя 6 минут, 50 секунд (9.06.2011 - 20:59) belcoder написал(а):
alex12060
inpost
Спасибо. Теперь буду знать.
DedMorozzz, нужную мысль он передал
inpost
Спасибо. Теперь буду знать.
DedMorozzz, нужную мысль он передал
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 час, 8 минут, 28 секунд (9.06.2011 - 22:07) alex12060 написал(а):
Ай, не прочитал)
Спустя 18 минут, 31 секунда (9.06.2011 - 22:26) alex12060 написал(а):
А регулярками не смог, сделал в виде ГК)
$str = '71:57 (12:17, 21:7, 20:13, 18:20)';
$content .= str_replace(substr($str, 0, 5), '<b>'.substr($str, 0, 5).'</b>', $str);
echo $content;