Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
PHP Functii cu expresii regulate (Perl-Compatible)
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 
u1j4js
Sintaxa pentru pattern-ul folosit in aceste functii este asemanatoare cu cea din functiile Perl. Orice expresie trebuie delimitata de 2 aceleasi caractere, de exemplu slash (/). Ca delimtatori pot fi folositi orice caracter in afara de cele alfanumerice si backslash (\). Daca caracterul delimitator este folosit in expresie el trebuie securizat (precedat de backslash).

Dupa caracterul delimitator de sfarsit pot aparea modiifcatorii care fac potrivirea. Vezi Modificatori pattern

Exemplu 1. Exemple de pattern valide
/<\/\w+>/
|(\dA3S)-\d+|Sm
/^(?i)phpa34i/
Exemplu 2. Exemple de pattern invalide
/href='(.*)' - lipseste delimitatorul de sfarsit
/\w+\s*\w+/J - modificator necunoscut 'J'
1-\d3-\d3-\d4| - lipseste delimitatorul de inceput
Nota: Expresiile regulate Perl-compatibile exista in PHP 4 si in PHP 3.0.9 si versiunile ulterioare.

Cuprins preg_match - Cauta dupa o expresie regulata preg_match_all - Cauta toate potrivirile dupa o expresie regulata preg_replace - Cauta dupa o expresie regulata si inlocuieste preg_split - Desparte un string dupa o expresie regulata preg_quote - Securizeaza caracterele speciale din expresii regulate preg_grep - Returneaza un tablou cu potrivirile unei expresii regulate
Modificatori pattern - Descrie modificatorii pentru pattern in expresii regulate
Sintaxa pattern - Descrie sintaxa expresiilor regulate Perl-Compatibile preg_match
(PHP3 >= 3.0.9, PHP4 )

Descriere

int preg_match (string pattern, string subject a, array matchesi)
Cauta in subject potriviri pentru expresia regulata din pattern.

Daca apare si tabloul matches, atunci rezultatul cautarii este stocat in acest tablou. $matchesa0i va contine subsirul care se potriveste intregului pattern, $matchesa1i va avea subsirul care se potriveste primului subpattern dintre paranteze, si.a.m.d.




Intoarce true daca s-a gasit un subsir din subject ce se potriveste pattern dat, sau false in caz contrar.

Exemplu 1. Cauta subsirul "php"

// caracterul "i" de dupa pattern indica o cautare case-insensitive if (preg_match ("/php/i", "PHP is the web scripting language of choice.")) A print "A match was found.";
S else A print "A match was not found.";
S

Exemplu 2. Cauta cuvantul "web"

// sirul \b din pattern indica marginea unui cuvant, deci intregul cuvantul
// "web" este cautat, si nu parti din el de exemplu "webbing" sau "cobweb"

if (preg_match ("/\bweb\b/i", "PHP is the web scripting language of choice.")) A print "A match was found.";
S else A print "A match was not found.";
S if (preg_match ("/\bweb\b/i", "PHP is the website scripting language of choice.")) A print "A match was found.";
S else A print "A match was not found.";
S

Exemplu 3. Afla domeniul dintr-o adresa URL

preg_match("/^(.*)(a^\.i+\.a^\.i+)(\/.*)?/U",
"https://www.php.net/index.html", $matches);

// afiseaza subsirul ce s-a potrivit celui de-al 2-lea subpattern dintre paranteze echo "domain name is: ".$matchesa2i."\n";

Acest exemplu v-a afisa:

domain name is: php.net

preg_match_all
(PHP3 >= 3.0.9, PHP4 )

Descriere

int preg_match_all (string pattern, string subject, array matches a, int orderi)
Cauta in subject toate potrivirile pentru expresia regulata din pattern si le pune in matches in ordinea specificata de utilizator.

Dupa ce prima potrivire a fost gasita, urmatoarele cautari incep de la sfarsitul ultimei potriviri.

order poate fi:

PREG_PATTERN_ORDER
Va rezulta astfel, $matchesa0i este un tablou cu potrivirile pentru intregul pattern, $matchesa1i este un tablou cu subsiruri potrivite primului subpatern dinte paranteze, s.a.m.d.

preg_match_all ("|<a^>i+>(.*)i+>|U",
"<b>example: </b><div align=left>this is a test</div>",
$out, PREG_PATTERN_ORDER); print $outa0ia0i.", ".$outa0ia1i."\n"; print $outa1ia0i.", ".$outa1ia1i."\n"

Se va afisa:

<b>example: </b>, <div align=left>this is a test</div> example: , this is a test

Deci, $outa0i contine un tablou de string care s-au potrivit intregului pattern, si $outa1i contine un tablou cu siruri de caractere aflate intre taguri.

PREG_SET_ORDER
Va rezulta astfel, $matchesa0i este un tablou cu primul set de potriviri, $matchesa1i este un tablou cu al doilea set de potriviri, s.a.m.d.

preg_match_all ("|<a^>i+>(.*)</a^>i+>|U",
"<b>example: </b><div align=left>this is a test</div>",
$out, PREG_SET_ORDER); print $outa0ia0i.", ".$outa0ia1i."\n"; print $outa1ia0i.", ".$outa1ia1i."\n"

Se va afisa:

<b>example: </b>, example:
<div align=left>this is a test</div>, this is a test

In acest caz, $matchesa0i este primul set de potriviri, si $matchesa0ia0i are sirul potrivit intregului pattern, $matchesa0ia1i are sirul potrivit primului subpattern s.a.m.d. Similar, in $matchesa1i sunt al doilea set de potriviri, etc.

Daca order nu este specificat, implicit este PREG_PATTERN_ORDER.

Returneaza numarul potrivirilor pentru intregul pattern, sau false daca nu s-a gasit nici o potrivire.

Exemplu 1. Aflarea tuturor nr de telefon dintr-un text.

preg_match_all ("/\(? (\dA3S)? \)? (?(1) a\-\si ) \dA3S-\dA4S/x",

"Call 555-1212 or 1-800-555-1212", $phones);

Exemplu 2. Aflarea tagurilor HTML.

// sirul \\2 este un exemplu de pre-referire. Inseamna ca
// trebuie sa se potriveasca cu al 2-lea set de paranteze din
// expresia regulata, adica (a\wi+) in acest caz.

$html = "<b>bold text</b><a href=howdy.html>click me</a>

preg_match_all ("/(<(a\wi+)a^>i*>)(.*)(<\/\\2>)/", $html, $matches);

for ($i=0; $i< count($matchesa0i); $i++) A echo "matched: ".$matchesa0ia$ii."\n"; echo "part 1: ".$matchesa1ia$ii."\n"; echo "part 2: ".$matchesa3ia$ii."\n";

echo "part 3: ".$matchesa4ia$ii."\n\n";
S

Acest exemplu v-a afisa:

matched: <b>bold text</b> part 1: <b> part 2: bold text part 3: </b>

matched: <a href=howdy.html>click me</a> part 1: <a href=howdy.html> part 2: click me part 3: </a>

preg_replace
(PHP3 >= 3.0.9, PHP4 )

Descriere

mixed preg_replace (mixed pattern, mixed replacement, mixed subject a, int limiti)
Cauta in subject potrivirile cu pattern si le inlocieste cu replacement. Daca apare si limit, atunci doar limit potriviri vor fi inlocuite; daca nu apare sau este -1, atunci toate potrivirile sunt inlocuite.

Replacement poate contine referinte de forma \\n. Fiecare astfel de referinta va fi inlocuita cu textul capturat de al n-lea subpattern dintre paranteze. n poate lua valori intre 0 si 99, si \\0 se refera la textul potrivit intregului pattern. Parantezele deschise sunt numarate de la stanga la dreapta(pornind de la 1) pentru a obtine numarul de subpattern-uri care captureaza textul.

Daca nu se gaseste nici o potrivire in subject, atunci va fi returnat neschimbat.

Fiecare parametru din preg_replace() poate fi un tablou.

Daca subject este un tablou, atunci cautarea si inlocuirea se fac pe fiecare element din tablou, iar rezultatul este tot un tablou.

Daca pattern si replacement sunt tablouri, atunci preg_replace() ia o valoare din fiecare tablou si le foloseste pentru a face cautarea si inlocuirea in subject. Daca replacement are mai putine valori decat pattern, atunci sirul vid este folosit pentru restul valorilor de inlocuire. Daca pattern este un tablou si replacement este un string, atunci acest string este folosit pentru fiecare pattern. Invers nu ar avea sens.

Modificatorul /e face ca preg_replace() sa trateze paramentrul replacement ca un cod PHP dupa ce s-a efectuat inlocuirea. Indicatie: aveti grija ca replacement sa fie un cod PHP valid, altfel PHP va da eroare la linia care contine preg_replace().

Exemplu 1. Inlocuire valori

$patterns = array ("/(19|20\dA2S)-(\dA1,2S)-(\dA1,2S)/",
"/^\s*A(\w+)S\s*=/");
$replace = array ("\\3/\\4/\\1", "$\\1 ="); print preg_replace ($patterns, $replace, "AstartDateS = 1999-5-27");

Acest exemplu v-a afisa:
$startDate = 5/27/1999

Exemplu 2. Folosirea modificatorului /e

preg_replace ("/(<\/?)(\w+)(a^>i*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);

Codul de mai sus va scrie toate tagurile HTML cu litere mari.
Exemplu 3. Converteste HTML in text

// $document va contine un document HTML

// Acest cod va sterge toate tagurile HTML, sectiuni javascript
// si spatii albe. Va converti de asemenea unele
// entitati HTML in caracterul care-l reprezinta.

$search = array ("'i*?>.*?'si", // Strip out javascript
"'<a\/\!i*?a^<>i*?>'si", // Strip out html tags
"'(a\r\ni)a\si+'", // Strip out white space
"'&(quote|#34);'i", // Replace html entities
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(\d+);'e"); // evaluate as php

$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ", chr(161), chr(162), chr(163), chr(169),
"chr(\\1)");

$text = preg_replace ($search, $replace, $document);

preg_split
(PHP3 >= 3.0.9, PHP4 )

Descriere

array preg_split (string pattern, string subject a, int limit a, int flagsii)
Nota: Parametrul flags a fost adaugat in PHP 4 Beta 3.

Intoarce ca valoare un tablou ce contine subsiruri din subject ce se potrivesc cu pattern.

Daca apare limit, atunci doar limit subsiruri sunt returnate

Daca flags este PREG_SPLIT_NO_EMPTY atunci doar partile nevide vor fi prelucrate de preg_split().

Exemplu 1. Aflarea partilor componente ale unui sir.

// imparte fraza in cuvinte despartite de virgula sau spatii albe,
// adica " ", \r, \t, \n si \f
$keywords = preg_split ("/a\s,i+/", "hypertext language, programming");

preg_quote
(PHP3 >= 3.0.9, PHP4 )

Descriere

string preg_quote (string str a, string delimiteri) preg_quote pune in fata fiecarui caracter care face parte din sintaxa expresiilor regulate un backslash. Aceasta este util cand sirul contine caractere speciale

Daca este specificat si parametrul optional delimiter, si acestuia i se va pune un backslash in fata. Este util pentru a securiza si acest delimitator. Cel mai folosit delimitator este /

Caracterele speciale din expresiile regulate sunt:

. \\ + * ? a ^ i $ ( ) A S = ! < > | :

Exemplu 1.

$keywords = "$40 for a g3/400";
$keywords = preg_quote ($keywords, "/"); echo $keywords; // returns \$40 for a g3\/400

Exemplu 2. Scrie cu caractere italice un cuvant dintr-un text

// In acest exemplu, preg_quote($word) este folosit
// pentru ca asteriscurile (*) sa nu fie interpretate
// de expresia regulata.

$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/".preg_quote($word)."/",
"<i>".$word."</i>",
$textbody); preg_grep
(PHP3 >= 3.0.9, PHP4 )

Descriere

array preg_grep (string pattern, array input) preg_grep() returneaza un tablou care are elemente din tabloul input care s-au potrivit cu pattern

Exemplu 1. Exemplu preg_grep()

// returneaza toate elementele din tablou
// care contin numere cu virgula
$fl_array = preg_grep ("/^(\d+)?\.\d+$/", $array);


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta