[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace
belcoder
Всем доброго вечера. Есть такой вопрос:
Допустим у нас в переменной есть некий текст, в котором часто встречаются строки типа "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, нужную мысль он передал 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;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.