Регулярни изрази в PHP

Регулярни изрази в PHP

Случило се така, че за последен път, аз често трябва да се справят с проблема за намиране на подниз в текста, а това подниз не може да има определен набор от символи. На основното ниво, работа с текст, можете да използвате стандартната PHP функция:

strpos () - Връща подниз в низ.
SUBSTR върху () -Returns предварително определена линия част.
strcmp () - Сравнява два низа.
str_replace () - Замяна на всички срещания на низа в един подниз с друг подниз.
взривят () - разделя низ в масива за даден сепаратор
strip_tags () - премахва линията всички HTML тагове.
strtolower () - Превод с малки букви.
strtoupper () - Превод на главни букви.
отрежете () - Изтрива ( »« \ н \ г \ т) знаци в началото и в края на линията.
HtmlSpecialChars () - Замества специални знаци за техните HTML еквиваленти.
convert_cyr_string () - Преобразува български текст от един кодиране на друг.

В повечето случаи, този списък може да бъде отменена, въпреки че това не е всички необходими функции. Вероятно всеки нов програмист идва момент, когато трябва да се изправи пред изучаването на регулярните изрази.

Регулярният израз - официален език за търсене и манипулирането на подниза в текста, се основава на използването на мета-символи.

Казано по-просто, регулярния израз е набор от символи, описващи търсенето на правило подниз.
За да стане по-ясно, веднага даде един лесен пример за регулярния израз в действие.

Да предположим, че имаме низ:

Карл Клара откраднал корали и Клара Карл открадна кларинет.

Ако кандидатствате за тази известна речитатив регулярен израз на формата:

След това ние получаваме три думи, отговарящи на този модел: "Клара". "Клара". и "кларинет".

На пръв поглед, регулярен израз запис е трудна, но както се казва: "Не е така, дявол, както той е боядисан!".

Сега ще ти обясня формирането на модела на принципа на регулярния израз.

Първото нещо, което трябва да разберете, че не всички от героите в този комплект са по същество, описващи шаблона! Разгледайте внимателно следните регулярни изрази:

всички те са точно същата работа, като единствената разлика в двата символа, които служат за разделяне на шаблона директно от допълнителните офис модификатори. На мястото на сепаратора може да бъде всеки символ. но е необходимо, че тя е в началото и в края на шаблона.

Последният знак е на стойност латинската буква и в нашия регулярен израз, при наличието на които се посочва, че моделът е нечувствително. Ако премахнете модификатор, в резултат на по-горе пример ще бъде не по три думи, а две: "Клара" и "Клара".

Хвърляне на нашия израз разделители и модификатори услуга, ние получаваме чист образец за регулярен израз:

Обхватът на този шаблон ще включва всички поднизът в текста, който да отговаря на следните правила:

  1. Подниз започва с последователността на букви "К", "L", "A", "Р".
  2. Подниз завършва с бяло поле \ ите.
  3. Между последователност "К", "L", "а", "р" и пространство \ ите могат да се срещнат някой от героите. *. тъй като те не могат да бъдат най-малко.

В горния пример, само една малка капка в морето от възможности за тези изрази.

Дошло е време да се премине към практическото прилагане на придобитите знания. Помислете за някои полезни примери за регулярни изрази в PHP. но първо няколко думи за характеристиките и preg_match preg_match_all. се използва в PHP, когато се занимават с регулярни изрази.

Preg_match функция е удобно да се използва, когато трябва да се намери само една дума в текста с тези знаци, или просто да се провери за необходимата последователност.

Ако си търсите набор от поднизове на текста, то е необходимо да се използва preg_match_all. го връща масив с всички намерени стойности.

С цел да се тества в действие пример за регулярен израз с речитатив, копирайте следната функция и да го наричат.

функция TestRegularFirst # 40; # 41; # 123;
$ Текст = 'Карл Клара откраднал корали и Клара Карл открадна кларинета. ;
ехо "например: ". htmlspecialchars # 40; $ текст # 41; ;
preg_match_all # 40; "/(Klar.*?)\s/i". $ Текст. $ резултат # 41; ;
ехо "
резултат:

". var_export # 40; $ резултат # 91; 1 # 93. вярно # 41. "
";
# 125;
TestRegularFirst # 40; # 41; ;

В резултат на функцията трябва да връща масив:

Поредица от символи, затворени между таговете.

Надявам се, че таблиците по-долу ще ви помогнат бързо да се справят с въпроса: какво е регулярни изрази в PHP? Не трябва ли да забави процеса на запознаване с този мощен механизъм в килера, защото колкото по-бързо се справя по редовния сезон, толкова по-малко ще остави време да готвя сложни алгоритми за обработка на текст.

Пример регулярни изрази в PHP

функция email_check # 40; $ имейл # 41; # 123;
ако # 40. preg_match # 40; "/ ^ (: [A-Z0-9] + (: [. -_] [A-Z0-9] +) '[а-Z0-9 _.-] + (: ??? \.? [а-Z0-9] +)? \. [AZ]) $ / I ". подреден # 40; $ имейл # 41; # 41; # 41;
# 123;
върнете невярна;
# 125;
останало върне вярно;
# 125;