Новые книги

В третьем издании бестселлера представлен теоретический и практический материал по технологиям связей с общественностью.

Рекомендуется тем, кто только вступает на путь пиарщика, а также тем, кто уже профессионально занимается связями с общественностью. Предлагаемая книга станет прекрасным помощником в повседневной работе.

Даны описания структуры, форм и алгоритмов составления всех основных видов PR-материалов, создание которых и является обязанностью PR-специалиста.

Третье издание дополнено материалом об Интернете как о мощном и специфичном средстве массовой коммуникации, подробно рассмотрены вопросы медиа-планирования, обновлены все примеры и данные. Рекомендуется специалистам по рекламе и PR, маркетологам.
Маркетинг – это в большей степени искусство, чем наука. Но при этом вам необходимы определенные навыки, чтобы проводить успешные маркетинговые кампании, и знание конкретных техник, чтобы составлять разумные бизнес-планы. Эта книга научит вас и тому и другому.

Ричард Холл имеет огромный опыт в проведении маркетинговых кампаний. Главное в маркетинге, как считает автор, – это «быть у всех на устах». В своей книге он описывает главные приемы «партизанского» маркетинга, заключающиеся в ненавязчивом продвижении, когда потенциальные клиенты не подозревают, что стали объектом воздействия скрытой рекламы. Вы узнаете, как сделать товар соблазнительным для покупателя, не затрачивая миллионы, и какой эффект дают нестандартные рекламные носители.

«Маркетинг – это радость. Он неразрывно связан со всем, что составляет человеческую жизнь. Как правило, люди доставляют нам наибольшее удовольствие, и потому их изучение является делом чрезвычайно приятным» (Р. Холл).

preg_replace

Учебник РНР
НазадВперёд

preg_replace

(PHP 3>= 3.0.9, PHP 4)

preg_replace - выполняет поиск и замену регулярного выражения.

Описание

mixed preg_replace (mixed pattern, mixed replacement, mixed subject [, int limit])

Ищет в subject совпадения с pattern и замещает их replacement. Если limit специфицирован, то замещаются только limit совпадений; если limit опущен или равен -1, замещаются все совпадения.

Replacement может содержать ссылку в форме \\n или (начиная с PHP 4.0.4) $n, где последняя форма предпочтительнее. Каждая такая ссылка замещается текстом, захваченным n'ным патэрном в скобках. n может быть от 0 до 99, а \\0 или $0 ссылаются на текст, совпавший со всем патэрном. Открывающие скобки подсчитываются слева направо (начиная с 1) для получения количества захватывающих субпатэрнов.

Если совпадения найдены, возвращается новый subject, иначе subject возвращается без изменений.

Каждый параметр preg_replace() может быть массивом.

Если subject это массив, то поиск и замена выполняются в каждом вхождении subject, return-значение также будет массивом.

Если pattern и replacement являются массивами, то preg_replace() принимает значение из каждого массива и использует их для выполнения поиска и замены в subject. Если replacement имеет меньше значений, чем pattern, то для оставшихся значений для замены используется пустая строка. Если pattern это массив, а replacement это строка, то эта замещающая строка используется для каждого значения pattern. Обратное не будет иметь смысла.

Модификатор /e делает так, что preg_replace() рассматривает параметр replacement как PHP-код после выполнения соответствующей замены ссылок.
Подсказка: убедитесь, что replacement образует строку правильного PHP-кода, иначе PHP сообщит об ошибке разбора в строчке с preg_replace().

Пример 1. Замена различных значений
$patterns = array ("/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/",
                   "/^\s*{(\w+)}\s*=/");
$replace = array ("\\3/\\4/\\1\\2", "$\\1 =");
print preg_replace ($patterns, $replace, "{startDate} = 1999-5-27");

Этот пример даст:

$startDate = 5/27/1999
Пример 2. Использование модификатора /e
preg_replace ("/(<\/?)(\w+)([^>]*>)/e", 
              "'\\1'.strtoupper('\\2').'\\3'", 
              $html_body);

Это переведёт в верхний регистр все тэги HTML в тексте ввода.

Пример 3. Конвертация HTML в текст
// $document должен содержать HTML-документ.
// Здесь будут удалены тэги HTML, разделы javascript
// и пустое пространство. Также некоторые обычные элементы
// HTML конвертируются в их текстовые эквиваленты.

$search = array ("'<script[^>]*?>.*?</script>'si",  // Вырезается javascript
                 "'<[\/\!]*?[^<>]*?>'si",           // Вырезаются html-тэги
                 "'([\r\n])[\s]+'",                 // Вырезается пустое пространство
                 "'&(quot|#34);'i",                 // Замещаются html-элементы
                 "'&(amp|#38);'i",
                 "'&(lt|#60);'i",
                 "'&(gt|#62);'i",
                 "'&(nbsp|#160);'i",
                 "'&(iexcl|#161);'i",
                 "'&(cent|#162);'i",
                 "'&(pound|#163);'i",
                 "'&(copy|#169);'i",
                 "'&#(\d+);'e");                    // вычисляется как php

$replace = array ("",
                  "",
                  "\\1",
                  "\"",
                  "&",
                  "<",
                  ">",
                  " ",
                  chr(161),
                  chr(162),
                  chr(163),
                  chr(169),
                  "chr(\\1)");

$text = preg_replace ($search, $replace, $document);

Примечание: параметр limit был введён после PHP 4.0.1pl2.

См. также preg_match(), preg_match_all() и preg_split().


Назад Оглавление Вперёд
preg_replace_callback Вверхpreg_split