Регулярни изрази в PHP
Случило се така, че за последен път, аз често трябва да се справят с проблема за намиране на подниз в текста, а това подниз не може да има определен набор от символи. На основното ниво, работа с текст, можете да използвате стандартната PHP функция:
strpos () - Връща подниз в низ.
SUBSTR върху () -Returns предварително определена линия част.
strcmp () - Сравнява два низа.
str_replace () - Замяна на всички срещания на низа в един подниз с друг подниз.
взривят () - разделя низ в масива за даден сепаратор
strip_tags () - премахва линията всички HTML тагове.
strtolower () - Превод с малки букви.
strtoupper () - Превод на главни букви.
отрежете () - Изтрива ( »« \ н \ г \ т) знаци в началото и в края на линията.
HtmlSpecialChars () - Замества специални знаци за техните HTML еквиваленти.
convert_cyr_string () - Преобразува български текст от един кодиране на друг.
В повечето случаи, този списък може да бъде отменена, въпреки че това не е всички необходими функции. Вероятно всеки нов програмист идва момент, когато трябва да се изправи пред изучаването на регулярните изрази.
Регулярният израз - официален език за търсене и манипулирането на подниза в текста, се основава на използването на мета-символи.
Казано по-просто, регулярния израз е набор от символи, описващи търсенето на правило подниз.
За да стане по-ясно, веднага даде един лесен пример за регулярния израз в действие.
Да предположим, че имаме низ:
Карл Клара откраднал корали и Клара Карл открадна кларинет.
Ако кандидатствате за тази известна речитатив регулярен израз на формата:
След това ние получаваме три думи, отговарящи на този модел: "Клара". "Клара". и "кларинет".
На пръв поглед, регулярен израз запис е трудна, но както се казва: "Не е така, дявол, както той е боядисан!".
Сега ще ти обясня формирането на модела на принципа на регулярния израз.
Първото нещо, което трябва да разберете, че не всички от героите в този комплект са по същество, описващи шаблона! Разгледайте внимателно следните регулярни изрази:
всички те са точно същата работа, като единствената разлика в двата символа, които служат за разделяне на шаблона директно от допълнителните офис модификатори. На мястото на сепаратора може да бъде всеки символ. но е необходимо, че тя е в началото и в края на шаблона.
Последният знак е на стойност латинската буква и в нашия регулярен израз, при наличието на които се посочва, че моделът е нечувствително. Ако премахнете модификатор, в резултат на по-горе пример ще бъде не по три думи, а две: "Клара" и "Клара".
Хвърляне на нашия израз разделители и модификатори услуга, ние получаваме чист образец за регулярен израз:
Обхватът на този шаблон ще включва всички поднизът в текста, който да отговаря на следните правила:
- Подниз започва с последователността на букви "К", "L", "A", "Р".
- Подниз завършва с бяло поле \ ите.
- Между последователност "К", "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;