Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

Примеры использования строковых функций

Пример:

<?php $str1 = "Иванов;Петров;Сидоров"; $pos = strpos($str1, "Пет", 1); // функция вернет 7 $pos = strpos($str1, "И", 1);   // функция вернет 0 // неправильная проверка, поскольку 0 преобразуется в false if( !$pos ) {   echo "Ничего не нашли!"; } // правильная проверка на эквивалентность if( $pos === false ) {   echo "Ничего не нашли!"; } $str2 = strstr($str1, "Пет" ); // функция вернет "Петров;Сидоров" $str2 = substr($str1, 6 );     // функция вернет ";Петров;Сидоров" $str2 = substr($str1, 6, 4 );  // функция вернет ";Пет" $str2 = str_replace( ";", "**", $str1 ); // функция вернет "Иванов**Петров**Сидоров" $array1 = explode( ";", $str1 ); // функция вернет массив ( 0 => "Иванов", 1 => "Петров", 2 => "Сидоров" ) $array1 = explode( ";", $str1, 2 ); // функция вернет массив ( 0 => "Иванов", 1 => "Петров;Сидоров" ) ?>

Функции разбора регулярных выражений

Регулярное выражение представляет собой шаблон, на основе которого выполняется поиск в исходной строке подстрок, соответствующий данному шаблону. Регулярные выражения являются мощным механизмом для «разборки» строк (например, для анализа содержимого HTML-страниц), поэтому их активное использование при разработке web-приложений может существенно повысить эффективность работы программиста.

Далее будем рассматривать PERL-совместимые регулярные выражения, которые заимствованы в язык PHP из языка PERL (изначально синтаксис PHP создавался под влиянием PERL, поэтому такое заимствование выглядит вполне естественным). Подробное рассмотрение регулярных выражений выходит за рамки данного курса (в силу значительного объема и сложности материала). Далее будем рассматривать только:

  • Способы применения регулярных выражений в PERL;

  • Основные сведения о регулярных выражениях, позволяющие начать использовать регулярные выражения в своих программах.

Для разбора регулярного выражения в PHP используются функции preg_match и preg_match_all.

Наименование функции

Назначение функции и возвращаемое значение

Параметры

preg_match

Поиск в исходной строке подстрок, соответствующих шаблону. Функция возвращает 1, если найдена хотя бы одна подстрока, соответствующая шаблону, в противном случае возвращается 0.

  • Шаблон для поиска подстрок;

  • Исходная строка, в которой выполняется поиск;

  • Необязательный параметр, указывающий одномерный массив, куда будут помещены результаты поиска. Если поиск успешен, то массив будет содержать единственный элемент с первой подстрокой, соответствующей шаблону.

preg_match_all

Поиск в исходной строке подстрок, соответствующих шаблону. Функция возвращает количество подстрок, соответствующих шаблону.

  • Шаблон для поиска подстрок;

  • Исходная строка, в которой выполняется поиск;

  • Необязательный параметр, указывающий двумерный массив, куда будут помещены результаты поиска. Если поиск успешен, то первый элемент результирующего массива будет содержать массив подстрок, соответствующих шаблону. Результирующй массив может содержать и более одного элемента, если шаблон содержит подшаблоны (см. далее).