A reguláris kifejezések php

A reguláris kifejezések php

Úgy történt, hogy utoljára, azt gyakran kell kezelni a problémát találni részkarakterláncként a szöveget, és ez részsztring nem fix szimbólumokat. Alapszinten, dolgozó szöveget, akkor használhatja a szabványos PHP függvény:

strpos () - Visszaadja részkarakterláncként a húr.
substr () -Returns előre meghatározott vonal része.
strcmp () - két karakterlánc összehasonlítását.
str_replace () - Cserélje ki az összes előfordulását a húr egyik részsztring másik részkarakterláncként.
felrobban () - osztja a karaktersorozatot a tömb egy adott elválasztó
strip_tags () - Eltávolítja a vonal minden HTML.
strtolower () - Translation kisbetűkkel.
strtoupper () - Translation nagybetűs.
trim () - Törli ( »«, \ n \ r \ t) karakter az elején és a sor végére.
Htmlspecialchars () - E cikk különleges karaktereket a HTML megfelelőjük.
convert_cyr_string () - Átalakítja a magyar szöveget egy kódolási a másikra.

A legtöbb esetben ez a lista is elhagyható, bár ez nem az összes szükséges funkció. Valószínűleg minden új programozó eljön az az idő, amikor szembe kell néznie a vizsgálat a reguláris kifejezések.

A reguláris kifejezés - formális keresés nyelve a manipuláció a részsztring a szövegben, használatán alapuló meta-karaktereket.

Egyszerűen fogalmazva, a reguláris kifejezés olyan szimbólumokat leíró szabály karaktersorozat keresést.
Annak érdekében, hogy tisztább, azonnal ad egy egyszerű példát a reguláris kifejezés akcióban.

Tegyük fel, hogy egy string:

Carl Clara ellopta a korallok és Clara Carl ellopott egy klarinét.

Ha alkalmazni ezt a híres patter reguláris kifejezés a következő formában:

akkor megkapjuk a három szó a mintának megfelelő: „Clara”. "Clara". és a „klarinét”.

Első pillantásra, a reguláris kifejezés rekord ijesztő, de mint mondják: „Nem is olyan ördög, mint amilyennek festik!”.

Most leírom a kialakulását a mintát az elvet a reguláris kifejezés.

Az első dolog, amit meg kell értened, hogy nem az összes karakter a készletben lényegében leírja a sablon! Nézd meg figyelmesen az alábbi reguláris kifejezések:

ezek mind pontosan ugyanazt a munkát, az egyetlen különbség a két szimbólum, amely arra szolgál, hogy külön a sablon közvetlenül a kiegészítő irodai módosítókat. A helyszínen a szeparátor bármilyen karakter lehet. de szükséges, hogy ez volt az elején és a végén a sablont.

Az utolsó karakter érdemes a latin betű, a mi reguláris kifejezés, amelynek jelenlétét jelzi, hogy a minta kis- és nagybetűket. Ha eltávolítja ezt módosító, ennek eredményeként a fenti példa nem lenne három szó, hanem két „Clara” és a „Clara”.

Dobás a mi kifejezést határoló és módosítók szolgáltatás, megkapjuk a tiszta reguláris kifejezés minta:

A jelen sablon tartalmazza az összes részsztring a szövegben, amelyek megfelelnek az alábbi szabályokat:

  1. Substring kezdődik a betűkből "K", "L", "a", "P".
  2. Substring végződik egy szóközzel \ s.
  3. Két "K" sorozat, "L", "a", "p" és egy szóköz \ s tud felelni minden karakter. *. mivel nem lehet egyáltalán.

A fenti példa csak egy kis csepp a tengerbe a lehetőséget a reguláris kifejezések.

Eljött az idő, hogy lépjen a gyakorlati alkalmazása a megszerzett tudást. Vegyünk néhány hasznos példákat a reguláris kifejezések a PHP. de az első néhány szó a funkciók és preg_match preg_match_all. PHP-ban, ha foglalkoznak a reguláris kifejezéseket.

Preg_match funkció kényelmesen használható, amikor meg kell találni csak egy szót a szövegben ezek a karakterek, vagy csak nézd a szükséges sorrendben.

Ha keres egy sor alsztringek a szöveget, akkor kell használni preg_match_all. ez egy tömböt ad vissza az összes mért értékeket.

Annak érdekében, hogy teszteljék a cselekvés példája a reguláris kifejezés az kopog, másolja az alábbi funkciót, és hívják.

funkció TestRegularFirst # 40; # 41; # 123;
$ Text = "Carl Clara ellopta a korallok és Clara Carl ellopta a klarinét. ;
echo 'például: ”. htmlspecialchars # 40; $ text # 41; ;
preg_match_all # 40; "/(Klar.*?)\s/i". $ Szöveg. $ result # 41; ;
echo '
eredmény:

”. var_export # 40; $ result # 91; 1 # 93;. igaz # 41;. '

# 125;
TestRegularFirst # 40; # 41; ;

Ennek eredményeként a funkciót tömböt ad vissza:

A karakterek sorozata zárt a címkék között.

Remélem, hogy a következő táblázatok segítségével gyorsan kezelni a kérdést: mi az a kifejezés egy PHP-ben? Amennyiben nem késleltetheti a folyamatot ismerkedési ennek az erős mechanizmus a szekrényben, mert minél előbb kap egy fogantyú az alapszakaszban, a kevésbé hagy időt készít komplex szöveget feldolgozó algoritmusok.

Példa reguláris kifejezések a PHP

funkció email_check # 40; $ email # 41; # 123;
ha # 40;. preg_match # 40; „/ ^ (:? [A-Z0-9] + (:? [-_.] [A-Z0-9] +) @ [a-Z0-9 _.-] + (: ??? \.? [a-Z0-9] +)? \. [az]) $ / i”. állapot # 40; $ email # 41; # 41; # 41;
# 123;
return false;
# 125;
else return true;
# 125;