[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace
savelikan
Привет всем! Помогите пожалуйста с проблемой: Как в preg_replace заменить, например 5 найденое совпадение?

_____________
Одесса - мой город!)))
Arh
Можно найти все совпадения с флагом PREG_OFFSET_CAPTURE, который показывает позицию в тексте

типа
$str = 'abc abc bla bla abra bla bla kodabra bla bla';
preg_match_all('/bla/', $str, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);


А потом заменить часть строки

$search = 'bla'; //Что искать
$value = 'БЛА'; //На что заменять
$number = 4; //Какой по счёту заменять

$str = 'abc abc bla bla abra bla bla kodabra bla bla';
preg_match_all('/'.$search .'/', $str, $matches, PREG_OFFSET_CAPTURE);
$start = $matches[0][$number-1][1];
$str = substr_replace($str , $value, $start, strlen($search));
echo $str ;


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Быстрый ответ:

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