Новости

документація | Хостинг-провайдер WEBIX.RU

(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");

Цей приклад дасть:

Приклад 2. Використання модифікатора / e

preg_replace ( "/ (<\ /?) (\ w +) ([^>] *>) / e", " '\\ 1'.strtoupper (' \\ 2 ').' \\ 3 '", $ html_body);

Це переведе в верхній регістр все теги HTMLв тексті введення.

Приклад 3. Конвертація HTML в текст

// $ document повинен містити HTML-документ. // Тут будуть видалені теги HTML, розділи javascript // і порожній простір. Також деякі звичайні елементи // HTML конвертуються в їх текстові еквіваленти. $ Search = array ( &quot; '<script [^>] *?>. *? </ Script>' si", // Вирізається javascript " '<[\ / \!] *? [^ &lt;>] *?> '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 () .

Lt;\ /?
Quot; '<script [^>] *?
Lt;>] *?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: