Конспект по начертательной
геометрии
Начертательная геометрия
Практикум решения задач
Геометрические основы
Инженерная графика
ЕСКД
Каталог графических примеров
Архитектура ЭВМ
Информатика и
информационные технологии
Конспект лекций по ядерной физике
ТОЭ
Физические законы механики
Волны оптика
Электротехника
Общая электротехника
Решение задач по
электротехнике
Язык программирования
MATLAB
Расчет электрических цепей
Моделирование цепей
переменного тока
Дифференциальные уравнения
Вычислительныe системы
Вычислительные комплексы
Электротехнические материалы
Теория конструктивных
материалов
Учебник PHP
Турбо Паскаль
Встроенный ассемблер
Turbo Vision
Java
Примеры программирования
на Java
Примеры скриптов
История искусства 18-19 век
Функции РНР для работы с регулярными выражениями (Perl-совместимые)

В РНР существует пять функций поиска по шаблону с использованием Perl-совместимых регулярных выражений:

preg_match( );
preg_match_all( );
preg_replace( );
preg_split( );
preg_grep( ).
Эти функции подробно описаны в следующих разделах.

preg_match( )

Функция pregjnatch( ) ищет в заданной строке совпадение для шаблона. Если совпадение найдено, возвращается TRUE, в противном случае возвращается FALSE. Синтаксис функции pregjnatch( ):

int pregjnatch (string шаблон, string строка [, array совпадения})

При передаче необязательного параметра совпадения массив заполняется совпадениями различных подвыражений, входящих в основное регулярное выражение. В следующем примере функция preg_match( ) используется для проведения поиска без учета регистра:

$linе = "Vi is the greatest word processor ever created!";

// Выполнить поиск слова "Vi" без учета регистра символов:

if (preg_match("/\bVi\b\i", $line, $matcn)) :

print "Match found!";

endif;

// Команда if в этом примере возвращает TRUE

preg_match_all( )

Функция preg_match_all( ) находит все совпадения шаблона в заданной строке.

Синтаксис функции preg_match_all( ):

Int preg_match_all (string шаблон, string строка, array совпадения [, int порядок])

Порядок сохранения в массиве совпадения текста, совпавшего с подвыражениями, определяется необязательным параметром порядок. Этот параметр может принимать два значения:

PREG_PATTERN_ORDER - используется по умолчанию, если параметр порядок не указан. Порядок, определяемый значением PREG_PATTERN_ORDER, на первый взгляд выглядит не совсем логично: первый элемент (с индексом 0) содержит массив совпадений для всего регулярного выражения, второй элемент (с индексом 1) содержит массив всех совпадений для первого подвыражения в круглых скобках и т. д.;
PREG_SET_ORDER - порядок сортировки массива несколько отличается от принятого по умолчанию. Первый элемент (с индексом 0) содержит массив с текстом, совпавшим со всеми подвыражениями в круглых скобках для первого найденного совпадения. Второй элемент (с индексом 1) содержит аналогичный массив для второго найденного совпадения и т. д.
Следующий пример показывает, как при помощи функции preg_match_al( ) найти весь текст, заключенный между тегами HTML <b>...</b>:

$user_info = "Name: <b>Rasmus Lerdorf</b> <br> Title: <b>PHP Guru</b>";

preg_match_all ("/<b>(.*)<\/b>/U", Suserinfo. $pat_array);

print $pat_array[0][0]." <br> ".pat_array[0][l]."\n":

Результат:

Rasmus Lerdorf

PHP Guru

preg_replace( )

Функция preg_repl ace( ) работает точно так же, как и ereg_replасе( ), за одним исключением - регулярные выражения могут использоваться в обоих параметрах, шаблон и замена. Синтаксис функции preg_replace( ):

mixed preg_replace (mixed шаблон, mixed замена, mixed строка [, int порог])

Необязательный параметр порог определяет максимальное количество замен в строке. Интересный факт: параметры шаблон и замена могут представлять собой масивы. Функция preg_replace( ) перебирает элементы обоих массивов и выполняет замену по мере их нахождения.

preg_split( )

Функция preg_spl it( ) аналогична split( ) за одним исключением - параметр шаблон может содержать регулярное выражение. Синтаксис функции preg_split( ):

array preg_split (string шаблон, string строка [, int порог [, int флаги]])

Необязательный параметр порог определяет максимальное количество элементов, на которые делится строка. В следующем примере функция preg_split( ) используется для выборки информации из переменной.

$user_info="+wj+++Gilmore+++++wjgi]more@hotmail.com

+++++++Columbus+++OH";

$fields = preg_split("/\+{1.}/", $user_info);

while ($x < sizeof($fields)):

print $fields[$x]. "<br>";

$x++;

endwhile;

Результат:

WJ

Gilmore

wjgilmore@hotmail.com

Columbus

OH

preg_grep( )

Функция preg_grep( ) перебирает все элементы заданного массива и возвращает все элементы, в которых совпадает заданное регулярное выражение. Синтаксис функции preg_grep():

array preg_grep (string шаблон, array массив)

Пример использования функции preg_grep( ) для поиска в массиве слов, начинающихся на р:

$foods = array ("pasta", "steak", "fish", "potatoes");

// Поиск элементов, начинающихся с символа "р".

// за которым следует один или несколько символов

$p_foods = preg_grep("/p(\w+)/", $foods):

$х = 0;

while ($x < sizeof($p_foods)) :

print $p_foods[$x]. "<br>";

$Х++;

endwhile;

Результат:

pasta

potatoes

Начертательная геометрия и инженерная графика, перспектива