Учебник по основам PHP. PHPBeginner


Функции регулярных выражений (PCRE) - часть 2


Теперь массив Sout будет содержать следующие элементы (общая схема):

   

Фрагменты

   
   

0

1

...

Шаблон

0

$out[0]|0] = "<b>Пример: </b>"

$out[0][l] = "<cliv aligrHeft> мой T6KCT</div>"

$out[0)[...]

Под-шаблоны

1

$out[l][0] = "Пример: "

Sout[l][l] = " мой текст "

$out[l]L-..]

   

$out[...][0]

$out[...][l]

$out[...][...]

PREG_SET_ORDER — в виде [фрагмент] [(под)шаблон]. В (гюд)массивах $matches[0] — $matches[xxx] сохраняются соответствующие фрагменты совпадения.

preg_match_all ("[<[*>]+>(.*)</[">]+>|U". "<b>Пример: </b> <div align-left* мой текст </div>", $out. PREG SET ORDER):

   

Шаблон

Подшаблоны

     

0

,

 

Фрагменты

0

$out[0][0] =•

"<b>Пример:

</b>"

$out[0][l] = "Пример: "

$out(0][...J

 

1

$out[l][0] -

"<div align=lefl> мой текст </div>"

$put[lj[l]-" мой текст "

$out[l]|...|

 

...

$out[...][0]

$out [...][!]

$out[...][...]

//Пример 1. Получение телефонного номера. preg_match_all t"/\(? (\d{3.6})? \)?

(?(1) [\-\s] ) \d{3}-\d{4}/x". "Call 555-1212 or 1-800-555-1212", Sphones). // Пример 2. Искать парные HTML теги (жадно) // \\2 - ссылка, здесь на t[\wj+) Shtml = "<b>bold text</b>--a href=howdy.htrol>click me</a> preg_match_dll ("/(<([\w]+)[*>]*>K.*)(<\/\\2>)/". Shtnl. Sratches); for ($i=0. $i< count($inatches[0]). $i++) { echo "фрагмент: " $matches[0][$i] "\n". "часть 1 " $matches[l][$i] "\n". "часть 2: ".$matches[3][$i]."\n". "часть 3: ".$matches[4][$i]."\n\n". }

После запуска примера будет выведено:

фрагмент: <b>bold text</b> часть 1 <b>

часть 2: bold text часть 3: </b> фрагмент: <а href=howdy.html> click me<@060>/a> часть1: <а href=howdy.html> часть 2: click me часть 3 </а>




Начало  Назад  Вперед



Книжный магазин