Есть вопрос?
Зайди на форум

Поиск:

Denix: русификация Ubuntu и кодеки :: RSS:: Скачать книги Колисниченко в PDF

Англо-русский словарь компьютерных терминов (Д. Колисниченко)

A  B  C  D  E  F  G  H  I  K  L  M  N  O  P  Q  R  S  T  V  W  X  Y  Z 

укрпочта отслеживание посылок перевод денег график отключения света в Кировограде график отключения счета в Киеве график отключения света в Одессе (zip)

Книга Д. Колисниченко IRC, IRC-каналы, IRC-боты: как пользоваться и как сделать самому. Избранные технологии Интернета

15.9. Функции PHP для работы с регулярными выражениями

При работе с функциями PHP нужно помнить, что любое регулярное выражение – это всего лишь строка и функции PHP ожидают от вас в качестве параметра именно строку. Также не забывайте экранировать все символы \ символом \.

Сначала рассмотрим самую простую функцию – ereg(). Ее прототип:

bool ereg(string $expression, string $str [, list &$Matches])

Функция сопоставляет регулярное выражение $expression строке $str. Если строка соответствует регулярному выражению, функция возвращает true, в противном случае – false. Если задан необязательный параметр – список Mathes, то в него записываются отдельные участки совпадения, конечно, если соответствие строка-выражение вообще есть. В $Matches[0] записывается подстрока, которая соответствует регулярному выражению.

Если вам нужно сразу же заменить найденную подстроку, используйте функцию ereg_replace():

string ereg_replace(string $expression, string $replacement, string $str)

Данная функция проверяет, соответствует строка $str регулярному выражению $expresson, если так, то найденное совпадение заменяется строкой $replacement.

Сейчас поговорим о том, как можно выделить отдельные участки совпадения. Например, у нас есть дата в формате ДД-ММ-ГГГГ. Дате в таком формате соответствует регулярное выражение:

^ *(([0-9]+)-([0-9]+)-([0-9])+)) *$

Конечно, это довольно простенькое выражение, не предусматривающее того, что месяц и день представляются двумя цифрами, а год – четырьмя. Но ничего, для демонстрации следующего примера нам этого выражения вполне достаточно.

Да, функция ereg() проверит, что строка 11-12-2004 соответствует вышеуказанному выражению и запишет ее в $Matches[0]. Но ведь Matches – это же массив, тогда что будет находиться в других элементах массива? Обратите внимание на круглые скобки: без них можно было бы обойтись, если бы не одно НО. Скобками мы выделили элементы совпадения (элементы нашей даты) – вот они и будут элементами массива $Matches.

Вот пример:

$s = “ 11-12-2004 “;

ereg(“^ *(([0-9]+)-([0-9]+)-([0-9])+)) *$”, $s, $M);

// Выводим элементы совпадения:

Echo “Совпадение целиком: $M[1] <br>”;

Echo “День: $M[2] <br>”;

Echo “Месяц: $M[3] <br>”;

Echo “Год: $M[4] <br>”;

 

Почему дата без окружающих ее пробелов записалась в M[1], а не M[0], как мы предполагали? На ее позицию в массиве повлияла внешняя пара скобок. Ну а дальше, я думаю, все понятно – каждый элемент даты заключен в скобки и поэтому записывается в отдельный элемент массива М – с номером 2, 3 и 4.

Теперь усложним нашу задачу. Если в предыдущем примере мы только выводили элементы совпадения, то сейчас попробуем их заменять. Предположим, что на нужно вывести текст PHP-программы так, чтобы выделить имена переменных жирным красным шрифтом, то есть каждое имя переменной обрамить тэгами

<b><font color=red>…</font></b>

Для поиска имени переменной можно использовать выражение:

\$[a-zA-Z_][[:alnum:]]*

Любая PHP-переменная начинается со знака $, за которым следует буква, а затем – неопределенное количество букв и цифр (ноль или более, на что указывает звездочка).

Вот как это работает:

$s = “<? $a=77; echo $a; ?>”;      // фрагмент PHP-программы

 

echo ereg_replace(“(\\$[a-zA-Z_][[:alnum:]]*,

”<b><font color=red>\\1</font></b>”)”,$s);

Как именно работает эта конструкция, думаю, догадаться не сложно. Функция сначала выделяет подстроку, затем, так как регулярное выражение обрамлено скобками, заносит совпадение в первый (\\1) элемент массива, который потом обрамляется нужными нам тэгами. Не забывайте символ \ экранировать еще одним символом! Первый символ \ возле знака $ экранирует сам знак (требование RegEx), а второй – экранирует сам знак \ (требование PHP).

Кроме функций ereg() и ereg_replace() существует другие функции – eregi() и eregi_replace(). Прототипы этих функций такие же, как у уже известных нам функций:

bool eregi(string $expression, string $str [, list &$Matches])

string eregi_replace(string $expression, string $replacement, string $str)

Действуют они так же, как и функции ereg() и ereg_replcase(), но не учитывают регистр символов.

На главную

Мне нравится!

Сегодня: 16/01

Именинники:  Андрюха aka host

Последние посты форума

Интересная картинка

Samsung Galaxy J2 Prime (SM-G532F)

дааа

Обучение PHP-программированию

Новый дизайн сайта

Возвращение на динамическую страницу сайта

С Новым Годом!

Бесплатный хостинг, SSL сертификат, не ограниченно

капец погода в ноябре у нас

Посоветуйте хостинг

флэшмобы

вот люди где живут... экстрим

авто-дилеры

Программы для Linux

книга Командная строка Linux и автоматизация рутинных задач

Совет:

Книги Д. Колисниченко:

Linux

FreeBSD 8. Руководство администратораFreeBSD 8. Руководство администратора
Книга посвящена очередной версии популярной операционной системы с открытым исходным кодом — FreeBSD 8. Отличная книга для начинающих пользователей BSD                                                                                                                                                      

150 проблем с Linux и их решение. Советы бывалого линуксоида150 проблем с Linux и их решение. Советы бывалого линуксоида
В данной книге рассмотрен широкий спектр проблем и задач, с которыми сталкиваются пользователи Linux и которые вызывают определенные сложности.                                                                                                                                                              

Программирование для Android 5. СамоучительПрограммирование для Android 5. Самоучитель
Рассмотрены все основные аспекты создания приложений для платформы Android 5 (API 21): установка необходимого программного обеспечения (JDK, Eclipse и Android SDK), использование эмулятора Android, создание интерфейса пользователя и т.д.                                                                

PHP

PHP и MySQL. Разработка веб-приложений. 5-е изд.PHP и MySQL. Разработка веб-приложений. 5-е изд.
Даны начала программирования на PHP: установка и настройка Apache, PHP и MySQL, а также кроссплатформенной сборки XAMPP, выбор редактора PHP-кода, синтаксис языка и самые полезные функции PHP. Рассмотрено создание собственного движка сайта и ряда доп                                                   

Самоучитель PHP 5. Книга + CDСамоучитель PHP 5. Книга + CD
Долгожданное новое издание PHP5 с CD, на котором вы найдете листинги из книги и дополнительное программное обеспечение (Apache, PHP, MySQL, редакторы кода). Книга не поддерживается, устарела                                                                                                               

PHP и MySQL. Разработка Web-приложений. 4-е издPHP и MySQL. Разработка Web-приложений. 4-е изд
Даны начала программирования на PHP: установка и настройка Apache, PHP, MySQL и кроссплатформенной сборки XAMPP, выбор редактора PHP-кода, синтаксис языка и самые полезные функции PHP 5.4. Рассмотрено создание собственного движка сайта и ряда дополни                                                   

Интернет/CMS

IRC, IRC-каналы, IRC-боты: как пользоваться и как сделать самому. Избранные технологии ИнтернетаIRC, IRC-каналы, IRC-боты: как пользоваться и как сделать самому. Избранные технологии Интернета
Эта книга целиком посвящена IRC – технологии, позволяющей создавать каналы многопользовательского общения                                                                                                                                                                                                    

Выбираем лучший бесплатный движок для сайта. CMS Joomla! и Drupal Выбираем лучший бесплатный движок для сайта. CMS Joomla! и Drupal
Книга ориентирована как на обычных пользователей Интернета, которым нужно в кратчайшие сроки создать свой сайт, так и на разработчиков, которые заинтересованы в построении собственной CMS                                                                                                                  

Интернет: от Интернет: от "чайника" к пользователю (+Видеокурс на CD)
Книга предназначена для начинающего домашнего пользователя, поможет ему самостоятельно освоить основы Интернета и начать уверенную работу.                                                                                                                                                                   

Компьютер/Windows

Первые шаги с Windows 7. Руководство для начинающих (+Видеокурс на CD)Первые шаги с Windows 7. Руководство для начинающих (+Видеокурс на CD)
Просто и понятно для начинающих пользователей описана операционная система Windows 7 и ее новые возможности. Рассказано, как установить Windows 7 (в том числе на нетбук)                                                                                                                                    

Самоучитель Microsoft Windows 10Самоучитель Microsoft Windows 10
Вас интересует новейшая версия Windows - Windows 10? Тогда эта книга для вас. Она содержит необходимые и достаточные сведения для реальной работы с программой. Описаны как базовые функции, так и основные новинки Windows 10                                                                               

Нетбук для экономныхНетбук для экономных
Книга предназначена в первую очередь для экономных пользователей. Упор делается на выбор недорогого нетбука и бесплатных программ.                                                                                                                                                                           

Сети

Самоучитель системного администратора. 4-е изд.Самоучитель системного администратора. 4-е изд.
Изложены основные задачи системного администрирования, описаны базовые протоколы, даны рекомендации по выбору оборудования и проведению ежедневных рутинных операций. Подробно раскрыты технологии, используемые при построении информационных систем, опи                                                   

Беспроводная сеть дома и в офисеБеспроводная сеть дома и в офисе
Книга поможет начинающему администратору домашней или офисной сети в кратчайшие сроки развернуть, настроить или модернизировать беспроводную сеть. Отличный выбор для построения сети SOHO                                                                                                                   

Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.Сделай сам компьютерную сеть. Монтаж, настройка, обслуживание. Изд. 2.
Книга о настройке сети в Windows (98,NT,XP) и Linux. Является превосходным практическим руководством по созданию и обслуживанию компьютерных сетей.                                                                                                                                                          

Безопасность

Анонимность и безопасность в Интернете. От Анонимность и безопасность в Интернете. От "чайника" к пользователю
Простым и понятным языком рассказано, как скрыть свое местонахождение и IP-адрес, используя анонимные сети Tor и I2P, посетить заблокированные администратором сайты, защитить личную переписку от посторонних глаз                                                                                          

Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.Rootkits под Windows. Теория и практика программирования “шапок-невидимок“, позволяющих скрывать от системы данные, процессы, сетевые соединения.
-                                                                                                                                                                                                                                                                                                            

Автомобили

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

Что делать, чтобы не надули в автосервисе. Советы и рекомендацииЧто делать, чтобы не надули в автосервисе. Советы и рекомендации
Вы недавно приобрели автомобиль или уже имеете водительский стаж, но при этом особо не вникаете в устройство автомобиля?                                                                                                                                                                                     

Что делать, чтобы не надули в автосервисе. Советует и рекомендует президент клуба BMWЧто делать, чтобы не надули в автосервисе. Советует и рекомендует президент клуба BMW
В этой книге речь пойдет о том, как правильно выбрать СТО; о преимуществах и недостатках гарантии; о том, как не дать в автосалоне навязать себе дополнительную комплектацию                                                                                                                                

Переводные книги

Переводные книгиПереводные книги
Данные книги были переведены мною на русский язык (с английского и чешского). Надеюсь качество перевода вам понравится!                                                                                                                                                                                      

Android

Планшет и смартфон на базе Android для ваших родителейПланшет и смартфон на базе Android для ваших родителей
Книга рассчитана на людей среднего и старшего возраста. Она поможет освоить современный «карманный компьютер» на базе Android, в котором все новое и "не так, как в Windows". Доступным языком описывается, как включить и выключить смартфон и т.д.                                                         

Безопасный Android: защищаем свои деньги и данные от кражиБезопасный Android: защищаем свои деньги и данные от кражи
Рассмотрены различные способы обеспечения безопасности Android-устройств: шифрование персональной информации, хранящейся на устройстве, шифрование передаваемых данных, VPN-соединения, анонимизация трафика                                                                                             

Планшет и смартфон на базе Android для ваших родителей, 2-е изд.Планшет и смартфон на базе Android для ваших родителей, 2-е изд.
Книга знакомит читателя с мобильными устройствами на базе Android. Она написана простым и понятным языком для людей среднего и старшего возраста                                                                                                                                                             

Статьи

Rambler's Top100