Intereting Posts
метод вызова класса (с конструкторами) без создания объекта в php загрузите текстовый файл вместо открытия в браузере dompdf не загружается Как заблокировать загрузку обнаженных изображений? Подготовленные отчеты и транзакции MySQLi Как я могу автоматически определять дневную экономию на PHP? Не удается удалить php set cookie Существует ли $ _SERVER в PHP или нет? JCropped Получите увеличенную высоту изображения Прогресс Ajax с сеансом PHP Слово прерывается на языках без пробелов между словами (например, азиатскими)? fwrite (): операция SSL завершилась неудачно с кодом 1. OpenSSL Сообщения об ошибках: \ nerror: 1409F07F: Подпрограммы SSL: SSL3_WRITE_PENDING: неудачная попытка записи в PHP Как заставить Composer (PSR-4) работать с расширением «.class.php»? jQuery форма представления формы не POSTING значения Каков наилучший способ вывода всех данных из таблицы на страницу без сбоя страницы?

выполнение нескольких preg_replace с различным поиском и заменой каждый раз

Я сделал что-то подобное с str_replace, используя это:

$string = $url; $patterns = array(); $patterns[0] = 'searchforme'; $patterns[1] = 'searchforme1'; $patterns[2] = 'searchforme2'; $replacements = array(); $replacements[0] = 'replacewithme'; $replacements[1] = 'replacewithme1'; $replacements[2] = 'replacewithme2'; $searchReplace = str_replace($patterns, $replacements, $string); 

Как я могу сделать что-то подобное с preg_replace?

Я построил очень простой небольшой синтаксический анализатор css, который ищет определенный тег в комментарии, обернутом вокруг свойств CSS, и заменяет его новыми данными.

 $stylesheet = file_get_contents('temp/'.$user.'/css/mobile.css'); $cssTag = 'bodybg'; $stylesheet = preg_replace("/(\/\*".$cssTag."\*\/).*?(\/\*\/".$cssTag."\*\/)/i", "\\1 background: $bg url(../images/bg.png) repeat-x; \\2", $stylesheet); file_put_contents('temp/'.$user.'/css/mobile.css',''.$stylesheet.''); 

У меня есть несколько «cssTag», и им будет нужен уникальный css для замены (фон, цвет, размер шрифта и т. Д.), Поэтому я ищу метод, подобный str_replace выше.

preg_replace может принимать массив точно так же, как str_replace

 $string = 'I have a match1 and a match3, and here\'sa match2'; $find = array('/match1/', '/match2/'); $replace = array('/replace1/', '/replace2/'); $result = preg_replace($find, $replace, $string);