Читайте также:
|
|
1. !<a.* href=(.*)>(.*)</a>!
2.!<a.* href=(?:.*)>(.*)</a>!
3.!<a.* href=(.*)>(?:.*)</a>!
Регулярные выражения. Функции PHP.
Регуля́рные выраже́ния (англ. regular expressions) — формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. wildcard characters). По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.
Регулярные выражения произвели прорыв в электронной обработке текстов в конце XX века. Набор утилит (включая редактор sed и фильтр grep), поставляемых вдистрибутивах UNIX, одним из первых способствовал популяризации регулярных выражений для обработки текстов. Многие современные языки программированияимеют встроенную поддержку регулярных выражений. Среди них ActionScript, Perl, Java[1],PHP, JavaScript, языки платформы.NET Framework[2], Python, Tcl, Ruby, Lua,Gambas, C++ (стандарт 2011 года), Delphi, D и др.
Регулярные выражения используются некоторыми текстовыми редакторами и утилитами для поиска и подстановки текста. Например, при помощи регулярных выражений можно задать шаблоны, позволяющие:
· найти все последовательности символов «кот» в любом контексте, как то: «кот», «котлета», «терракотовый»;
· найти отдельно стоящее слово «кот» и заменить его на «кошка»;
· найти слово «кот», которому предшествует слово «персидский» или «чеширский»;
· убрать из текста все предложения, в которых упоминается слово кот или кошка.
Регулярные выражения позволяют задавать и гораздо более сложные шаблоны поиска или замены.
Все функции и классы PHP имеют глобальную область видимости - они могут быть вызваны вне функции, даже если были определены внутри и наоборот.
PHP не поддерживает перегрузку функции, также отсутствует возможность переопределить или удалить объявленную ранее функцию.
Имена функций регистронезависимы, тем не менее, более предпочтительно вызывать функции так, как они были объявлены.
Функции PHP поддерживают как списки аргументов переменной длины, так и значения аргументов по умолчанию.
Можно также вызывать функции PHP рекурсивно. Однако, пытайтесь избегать вызовов рекурсивных функций/методов с более чем 100-200 уровней рекурсии, так как это сильно бьет по стэку и может вызвать крах выполняемого скрипта.
Пример 1
$subject = "abcdef";
$pattern = '!^abc!';
if (preg_match($pattern, $subject, $matches))
{ print_r($matches); }
else { print "no preg"; }
Array ([0] => abc)
Дата добавления: 2015-02-16; просмотров: 112 | Поможем написать вашу работу | Нарушение авторских прав |