|
Politica de confidentialitate |
|
• domnisoara hus • legume • istoria unui galban • metanol • recapitulare • profitul • caract • comentariu liric • radiolocatia • praslea cel voinic si merele da aur | |
Functii cu expresii regulate (POSIX Extended) in PHP | ||||||
|
||||||
t1y4yj Expresiile regulate sunt folosite pentru prelucrarea sirurilor de caractere. Functiile pentru expresii regulate sunt: ereg() ereg_replace() eregi() eregi_replace() split() spliti() Exemplu 1. Exemple de expresii regulate ereg ("abc", $string); ereg ("^abc", $string); ereg ("abc$", $string); eregi ("(ozilla.a23i|MSIE.3)", $HTTP_USER_AGENT); ereg ("(aa:alnum:ii+) (aa:alnum:ii+) (aa:alnum:ii+)", $string,$regs);
$string = ereg_replace ("^", "<BR>", $string); $string = ereg_replace ("\n", "", $string); Cuprins ereg - Cauta o potrivire pentru o expresie regulata ereg_replace - Inlocuieste o expresie regulata eregi - Cauta o potrivire pentru o expresie regulata (case insensitive) eregi_replace - Inlocuieste o expresie regulata (case insensitive) split - Imparte un sir de caractere intr-un tablou dupa o expresie
regulata spliti - Imparte un sir de caractere intr-un tablou dupa o expresie
regulata (case insensitive) sql_regcase - Returneaza o expresie regulata pentru o potrivire case insensitive
ereg Descriere int ereg (string pattern, string string a, array regsi) Daca sunt gasite potriviri pentru subsirurile dintre paranteze din pattern, si tabloul regs apare ca argument in functie, atunci potrivirile vor fi puse in acest tablou. $regsa1i va contine subsirul potrivit pentru prima paranteza, $regsa2i pentru a 2-a, s.a.m.d. $regsa0i va contine o copie a sirului string. Daca ereg() gaseste potriviri in orice caz, $regs va fi completat cu exact 10 elemente, chiar daca s-au potrivit mai multe sau mai putine de 10 subsiruri. Daca nu s-a gasit nici o potrivire $regs ramane eschimbat. Cautarea este case sensitive. Returneaza true daca a fost gasita o potrivire in sir, sau false in caz contrar. Urmatorul cod ia la intrare o data calendaristica in format ISO (aaaa-ll-zz) si o afiseaza in format zz.ll.aaaa Exemplu 1. Exemplu ereg() if (ereg ("(a0-9iA4S)-(a0-9iA1,2S)-(a0-9iA1,2S)", $date, $regs))
A echo "$regsa3i.$regsa2i.$regsa1i"; ereg_replace Descriere string ereg_replace (string pattern, string replacement, string string) String-ul modificat este returnat. (Daca nu se gaseste nici o potrivire este returnat string-ul initial.) Daca pattern contine subsiruri intre parenteze, replacement poate contine subsiruri de forma \\numar, care vor fi inlocuite cu textul care se potriveste cu al numar-elea subsir dintre paranteze; \\0 va fi intregul sir. Pot fi folosite pana la 9 subsiruri. Parantezele pot fi imbricate. Daca nu este gasita nici o potrivire, string este returnat neschimbat. De exemplu, urmatorul cod afiseaza "This is a test" de 3 ori Exemplu 1. Exemplu ereg_replace() $string = "This is a test"; echo ereg_replace (" is", " was", $string); echo ereg_replace ("( )is", "\\1was", $string); echo ereg_replace ("(( )is)", "\\2was", $string); Atentie la urmatorul lucru: daca folositi un numar pentru textul de inlocuit, nu veti obtine rezultatul dorit. Aceasta deoarece ereg_replace() va interpreta numarul ca fiind codul unui caracter. De exemplu: Exemplu 2. Exemplu ereg_replace() <?php /* Insa acesta da. */ eregi Descriere int eregi (string pattern, string string a, array regsi) eregi_replace Descriere string eregi_replace (string pattern, string replacement, string string) split Descriere array split (string pattern, string string a, int limiti) Pentru a prelua primele 5 campuri dintr-o linie din /etc/passwd: Example 1. Exemplu Split() $passwd_list = split (":", $passwd_line, 5); Pentru a valida o data calendarisitica, care poate fi delimitata de slash(/), punct(.) sau linie de despartire(-) Example 2. Exemplu Split() $date = "04/30/1973"; //Delimitatori pot fi / . list ($month, $day, $year) = split ('a/.-i', $date); echo "Month: $month; Day: $day; Year: $year<br>\n"; Atentie, pattern este case-sensitive. Daca nu aveti nevoie explicit de expresii regulate, folositi unlinked explode(). Este mai rapida. De asemenea pattern este o expresie regulata. Daca doriti sa impartiti string dupa caractere speciale, va trebui sa le securizati mai intai. Daca functia split() (sau orice alta functie regex) se comporta ciudat, cititi manualul regex.7, aflat in subdirectorul regex/ unde e instalat PHP. Comanda man /usr/local/src/regex/regex.7 spliti Descriere array spliti (string pattern, string string a, int limiti) |
||||||
|
||||||
|
||||||
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite |
|