internetul Windows. Android

PREG înlocuiește exemplele PHP. Expresii regulate în PHP cu exemple

PHP, așa cum se presupune în limba modernă de programare, oferă dezvoltatorului un set de funcții pentru utilizarea expresiilor regulate. Puteți căuta linii la alte linii pe criterii complexe.

  • Preg_patern_order;
  • Preg_set_order.

Sortați după primul exemplu de realizare crește rezultatele căutării după numărul expresiei regulate (valoarea implicită). În al doilea caz, rezultatele sunt grupate în locația locației lor.

Simbol - Element de șablon

Este important să vă amintiți că modelul operează caractere. Programarea a uitat de mult ce tip de date este "simbol". Limbile moderne nu se încadrează sub conceptul de "șir", dar în legătură cu șablonul este necesar să înțelegem: aici manipulați simbolurile.

Construirea unui șablon este, în primul rând, specificând secvența dorită de caractere. Dacă acest lucru este clar învățat, atunci nu vor exista erori în șablon. În orice caz, va fi mult mai mic.

  • a este un element specific al șablonului - simbol.
  • a-Z este un element al unui șablon, de asemenea un caracter, dar numai cu o valoare de la A la Z este întreaga limită din registrul inferior.
  • 0-9 este o singură cifră și orice, dar 1-3 - numai 1, 2 sau 3.

Înregistrați-vă în șablon este important. Primul și ultimul simbol al șablonului sunt de mare importanță. Puteți specifica unde începe șablonul și cum se termină.

Funcție șablon

PHP PREG Match Toate utilizează sintaxa standard de expresii regulate. Denotă unul dintre personajele specificate în ele:

  • Numai caracterele a, b, c.
  • [^ Abc] Toate, cu excepția simbolurilor A, B, C.
  • \\ W și \\ W - text sau nu text text.
  • \\ s și simbolul gol sau nu este un simbol gol.
  • \\ D și \\ d - cifră sau nu o cifră.

Simbolurile repetiției sunt desemnate cu paranteze curbate - (N, M) și aparțin simbolului anterior.

  • n denotă repetarea "nu mai puțin";
  • m - repetiție "nu mai mult".

Sintaxa oferă multe opțiuni pentru crearea de șabloane, dar este mai bine să începeți cu Azov, adică cu simplă, scrisă personal, în care lipsesc elementele și combinațiile complexe.

Pur și simplu puneți-l pe caracterele reale care au nevoie, specificând cantitățile necesare și luând ca simbolul "^" corespunde la început și "$" - capătul șirului, puteți crea modele simple. Analizând adevăratele expresii regulate bine stabilite de la profesioniști calificați, puteți obține cunoștințe puternice pentru a crea complexul PREG potrivi toate aplicațiile. Arsenalul PHP nu este limitat numai de aceste două funcții, dar sunt cele mai des utilizate.

Practică simplă

Șablon pentru un număr întreg:

  • "/*/"

De asemenea, un model al unui număr întreg, dar în față poate fi un semn ("+", "-"), iar în față / spate pot fi spații suplimentare:

  • / ^ [\\ s | \\ + | \\ -] (0,1) * /

În mod similar:

  • / \u003d [\\ S | \\ + | '-] (0,1) * ((.) * / - Un număr cu un punct.
  • /[E-mail protejat]+ \\. (2.3) / - Opțiunea de recunoaștere prin e-mail.

Aplicarea propriilor șabloane pentru Preg Meci, exemplul lor pe Internet, Analiza paginilor site-ului și a altor surse vă permit să vă formați propria dvs. bibliotecă de șablon.

Pot fi setate opțiuni pentru căutarea informațiilor. În special, ultimele două modele pot fi simulate în mod diferit. În multe cazuri, preferința va avea șablonul care este mai rapid și mai precis va furniza coincidența dorită. Aplicarea pe PHP PREG se potrivește cu toate, precum și funcții similare în alte limbi, necesită practici, atenție și verificare preliminară a corectitudinii șabloanelor.

Acest articol oferă o selecție de exemple PHP REGEXP. Colectarea foarte bună și utilă a exemplelor de expresii regulate (expresii regulate). Toate exemplele de expresii regulate sunt acceptabile pentru PHP. Utilizați sănătatea!

Exemplu de verificare a unui nume de domeniu

Acest lucru, Fragmentul PHP verifică dacă un șir este un nume de domeniu valid.

:. *) +) :? (D +)? /? / I ", $ URL)) (ECHO" URL-ul dvs. este OK. ";) Altfel (ECHO" URL greșit ";)

Un exemplu de evidențiere a cuvântului în text

Expresie regulată foarte utilă, pentru a căuta și a ilumina cuvântul dorit în text. Mai ales codul este util, atunci când creați o ieșire a rezultatelor de căutare.

$ Text \u003d "Exemplu de la Komunitasweb, Regex a devenit popular în programarea web. Acum învățăm regex. Potrivit lui Wikipedia, expresii regulate (abreviate ca regex sau regexp, cu forme role regexe, regexi sau regexen) sunt scrise într-o formală Limba care poate fi interpretată de un procesor regulat de expresie "; $ Text \u003d preg_replace ("/ b (regex) b / i", " 1", $ text); Echo $ text;

Un exemplu de implementare a luminii de fundal a rezultatelor căutăriiWordPress.

Deschideți fișierul Search.php și găsiți funcția The_TITLE (). Înlocuiți-l cu următorul șirul:

Echo titlu de $;

Și acum, introduceți acest cod înainte de șirul înlocuit:

\0", $ titlu);?\u003e

Salvați fișierul de căutare.php și stil deschis.Css. Adăugați la acesta următoarea linie:

Strong.search-Extras (fundal: galben;)

Un exemplu de obținere a imaginilor de laMetoda HTML Regexp.

Această bucată de cod PHP utilizând expresii regulate, caută toate imaginile și adresa URL a acestora.

$ Images \u003d Array (); preg_match_all ("/ (img | src) \u003d (" | ") [^" ""\u003e "+ / i", $ date, $ media); Debut ($ date); $ date \u003d preg_replace ("/ (img | src) (" | "\u003d" | \u003d ") (. *) / i", "$ 3", $ media); FOREACH ($ Date ca adresă URL) ($ info \u003d patinfo ($ URL); dacă (ISSET ($ info ["extensie"])) (dacă ($ info ["extensie"] \u003d\u003d "jpg") || ($ info ["extensie"] \u003d\u003d "JPEG") || ($ info ["extensie"] \u003d\u003d "gif") || ($ info ["extensie"] \u003d\u003d "png")) array_push ($ imagini, url $);))

Eliminarea cuvintelor repetate (excluzând registrul)

Adesea există cuvinte repetate? Apoi, exemplul acestei expresii regulate vă va fi util.

$ text \u003d preg_replace ("/ s (w + s) 1 / i", "$ 1", $ text);

Eliminarea punctelor repetate

La fel, numai cu puncte repetate.

$ text \u003d preg_replace ("/.+/ i", ".", $ text);

Potrivirea etichetelor XML / HTML

Această caracteristică simplă are două argumente: eticheta (potrivirea pe care doriți să o găsiți), codul XMLI HTML.

Funcție get_tag ($ etichetă, $ xml) ($ etichetă \u003d preg_quote ($ etichetă); preg_match_all ("(<".$tag."[^>]*>(.*?). ")", $ XML, $ meciuri, preg_pastern_order); Returnați meciurile $; )

Căutați etichete XHTML / XML cu valori atribute definite

Acest exemplu este similar cu caracteristica anterioară, numai că puteți extinde semnificativ căutarea, de exemplu

.

Funcție get_tag ($ attr, $ valoare, $ xml, $ eticheta \u003d null) (dacă este_null ($ etichetă) $ tag \u003d "\\ w +"; altcineva $ etichet \u003d preg_quote ($ etichetă); $ attr \u003d preg_quote ( $ Attr); $ valoare \u003d preg_quote (valoare $); $ tag_regex \u003d "/<(".$tag.")[^>] * $ Attr \\ s * \u003d \\ s * "." (["\\"] $ Valoare \\\\ 2 [^\u003e] *\u003e (. *?)<\/\\1>/ "preg_match_all ($ tag_regex, $ xml, $ meciuri, preg_pastern_order); returnează meciurile de $;)

Căutați valori de culoare Hex

Un exemplu excelent de expresie regulată care caută respectarea valorilor culorilor hexazecimale în liniile specificate. Pentru ce e asta? Poate doriți să scrieți un serviciu de compresie de cod CSS sau ceva de genul ăsta.

$ string \u003d "# 555555"; dacă (preg_match ("/ ^ # (? :(?: (3)) (1,2)) $ / I", $ string)) (echo "Exemplul 6 de succes";)

Exemplu de căutaretitlu pe o pagină specificată

Acest exemplu interesant de cod PHP cu regexp caută și returnează textul între etichete. și.

Feof ($ FP)) ($ pagina. \u003d Fgets ($ FP, 4096);) $ Titre \u003d EREGI (" (.*)", $ Pagină, $ regs); Echo $ regs; FLOSE ($ FP);

Parsarea lui Loke Apache.

Cele mai multe site-uri lucrează pe serverele bine-cunoscute Apache. Dacă site-ul dvs. funcționează și pe acesta, puteți face o analiză a jurnalului de server utilizând PHP REGEXP.

// Busteni: Apache Web Server // Hits de succes numai pentru fișierele HTML. Utile pentru numărarea numărului de vizualizări a paginilor. "((? # client IP sau nume de domeniu) S +) S + ((? # Autentificare de bază) S + S + S +) S + [((? # Data și ora) [^]] +)] S + "(?: Get | poste | cap) (((? #File) / [^?"] +? "HTML?)? ((? # Parametri) [^?"] +)? HTTP / + "S + (codul de stare #) 200s + ((? # Bytes transferat) [- 0-9] +) S +" ((? # Referrer) [^ "] *)" S + "(( ? # Agent utilizator) [^ "] *)" $ "// jurnale: Apache Web Server // 404 numai erori" ^ ((? # Client IP sau nume de domeniu) S +) S + ((? # Autentificare de bază) S + S + S +) S + [((? # Data și ora) [^]] +)] S + "(?: Get | Post | cap) ((((#file) [^?"] + )? ((? # Parametri) [^? "] +)? Http / + "s + (codul de stare #) 404s + (((? # Octeți transferat) [- 0-9] +) S +" ((? # Referință) [^ "] *)" s + " (? # Agent utilizator) [^ "] *)" $ "

Exemplu de parolă Verificarea complexității

Un exemplu excelent de expresie regulată care verifică nivelul de complexitate al parolei. Parola trebuie să cuprindă 6 caractere, conțin cel puțin: un simbol al titlului, un caracter cu litere mici, o cifră.

"A (? \u003d [-_ a-za-z0-9] *?) (? \u003d [-_ a-za-z0-9] *?) (? \u003d [-_ A-ZA0-9] *?) [-_a-za-z0-9] (6,) z "

Înlocuirea emoticoanelor text pe emoticoanele grafice

Acest exemplu de cod va schimba emoticonul de text, pe graficul dvs. Interesant și util Snippet PHP.

$ texte \u003d "un text cu un zâmbet :-)"; Echo str_replace (":-)", " ", $ texte);

Un exemplu de expresie regulată pentru a obține imagini de lacodul HTML.

Merită să spuneți că acest cod PHP este utilizat în WordPress, pentru a căuta și procesa imaginea.

post_content; $ szsearchpattern \u003d "~ ] * /\u003e ~ "; Numără ($ apic); dacă ($ inumberofpics\u003e 0) (// aici puteți gestiona imaginile // în acest exemplu, acestea vor fi pur și simplu afișate pe ($ i \u003d 0; $ I.< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>

Sper că ați fost util pentru o selecție de exemple PHP Regexp. Dacă există adăugări sau exemple interesante de expresii regulate (PHP), scrieți în comentarii.

(PHP 4, PHP 5, PHP 7)

preg_replace - Căutări și înlocuirea expresiei regulate

Lista parametrilor

Modelul dorit. Poate fi atât o serie de șir, cât și o serie de linii.

De asemenea, disponibile câteva modificatori ai PCRE, inclusiv depășirea " e."(Preg_replace_eval), specific numai pentru această funcție.

Înlocuire

Rând sau o gamă de rânduri pentru înlocuire. Dacă acest parametru este un șir, iar modelul este o matrice, toate șabloanele vor fi înlocuite cu acest șir. Dacă modelele și înlocuirea sunt matrice, fiecare element de model va fi înlocuit cu elementul corespunzător de la înlocuire. Dacă matricea de înlocuire conține mai puține elemente decât matricea de model, atunci toate șabloanele suplimentare din model vor fi înlocuite cu șiruri goale.

Înlocuirea poate conține referințe \\\\ N.sau (începând cu PHP 4.0.4) $ n., iar ultima opțiune este preferabilă. Fiecare astfel de link va fi înlocuită de un substring corespunzător N-Podmackack. n poate lua valori de la 0 la 99 și link-ul \\0 (sau $0 ) Corespunde introducerii întregului șablon. Măștile Podme sunt numerotate de la stânga la dreapta, începând cu o unitate. Pentru a utiliza cursa inversă, trebuie să fie duplicată (șir PHP "\\\\" ).

La înlocuirea șablonului utilizând referințele la Podmascus, poate apărea o situație atunci când direct în spatele măștii ar trebui să fie o cifră (de exemplu, setarea numerelor imediat după mască coincidată). În acest caz, este imposibil să folosiți o notație familiară a tipului \\1 Pentru referire la reforme. Înregistrarea, de exemplu, \\11 , a face de rusine preg_replace () deoarece ea nu va putea să înțeleagă dacă doriți să utilizați link-ul \\1 urmată de o cifră 1 Sau doriți să utilizați link-ul \\11 În spatele cărora nu ar trebui să fie nimic. Această neînțelegere poate fi eliminată dacă utilizați designul. \${1}1 Folosind o legătură izolată $1 , și numărul de lângă el 1 .

Când utilizați un modificator depășit e. Această caracteristică scutură unele caractere (și anume " , " , \ și null) în linii care înlocuiesc backlink-urile. Acest lucru se face pentru a certifica corectitudinea sintaxei atunci când se utilizează backlink în interiorul citatelor unice sau duble (de exemplu, "Strlen (\\" $ 1 \\ ") + strlen (" $ 2 ")"). Asigurați-vă că dețineți sintaxa de procesare a rândului PHP pentru a realiza cu exactitate cum va arăta șirul interpretat.

Subiect.

Rând sau o gamă de rânduri pentru căutare și înlocuire.

Dacă subiectul este o matrice, căutarea cu înlocuirea este efectuată pentru fiecare element al matricei de subcept, iar valoarea de returnare va fi, de asemenea, o matrice.

Cantitatea maximă posibilă de înlocuire a fiecărui șablon pentru fiecare linie de subiect. Implicit este egal -1 (fără restricții).

Dacă este specificat, această variabilă va fi completată cu numărul de înlocuiri.

Valori de returnare

preg_replace () Returnează o matrice dacă parametrul subiectului este o matrice, altfel șirul este returnat.

Dacă se găsesc coincidențele, noua versiune a subiectului este returnată, în caz contrar subiectul este returnat neatins, în cazul unei erori pe care îl întoarce NUL.

Erori

Când utilizați un modificator depășit "\\ e" se îndreaptă spre nivelul nivelului E_deprecated..

Lista modificărilor

Exemple

Exemplul # 1 Folosind o talie, urmată de o figură

$ String \u003d "15 aprilie 2003";
$ Model \u003d "/ (\\ w +) (\\ d +), (\\ d +) / i";
$ înlocuire \u003d "$ (1) 1, $ 3";
echo preg_replace ($ model, $ înlocuire, $ string);
?>

Exemplul # 2 Utilizarea matricei cu indexuri numerice ca argumente ale funcției preg_replace ()

$ String \u003d. "Vulpea brună rapidă a sărit peste câinele leneș".;
$ Modele \u003d matrice ();
$ Modele [0] \u003d "/ rapid /";
$ Modele [1] \u003d "/ maro /";
$ Modele [2] \u003d "/ vulpe /";
$ înlocuitori \u003d matrice ();
$ înlocuitori [2] \u003d "urs";
$ înlocuitori [1] \u003d "negru";
$ înlocuitori [0] \u003d "lent";

?>

Rezultatul acestui exemplu:

Urs negru lent a sărit peste câinele leneș.

Sortarea șabloanelor și înlocuirilor cheilor, obțineți rezultatul dorit:

ksort (modele $);
ksort (înlocuiri $);
ecou preg_replace ($ modele, înlocuiri $, $ string);
?>

Rezultatul acestui exemplu:

Ursul negru lent a sărit peste câinele leneș.

Exemplul # 3 Înlocuirea pentru mai multe șabloane

$ Modele \u003d matrice ( "/ (19 | 20) (\\ d (2)) - (\\ d (1,2)) - (\\ d (1,2)) /",
"/ ^ s * ((\\ w +)) \\ s * \u003d /");
$ înlocui \u003d matrice ("\\ 3 / \\ 4 / \\ 1 \\ 2", "$ \\ 1 \u003d");
echo preg_replace ($ modele, $ înlocui, "(Startdate) \u003d 1999-5-27");
?>

Expresiile regulate vă permit să găsiți în șirul de secvență corespunzător șablonului. De exemplu, șablonul "Vasya (*) Pupkin" vă va permite să găsiți o secvență atunci când cuvintele Vasya și Pupkin vor fi orice număr de caractere. Dacă aveți nevoie să găsiți șase cifre, atunci scriem "(6)" (dacă, de exemplu, de la șase la opt cifre, atunci "(6.8)"). Aici sunt împărțite astfel de lucruri ca un indicator de simbol și un indicator al cantității necesare:

<набор символов><квантификатор><жадность>

În loc de un set de caractere, poate fi utilizată o denumire a oricărui caracter - un punct, poate fi specificat un set specific de caractere (secvențele sunt acceptate - "0-9"). Acesta poate fi indicat "cu excepția acestui set de caractere".

Numărul indicator al caracterelor din documentația oficială PHP se numește "cuantificator". Termenul este convenabil și nu transportă curviori. Deci, cuantificatorul poate avea atât o valoare specifică - fie una fixă \u200b\u200b("(6)"), fie ca un interval numeric ("(6,8)") și abstract "orice număr, inclusiv 0" ("*" ), "Orice număr natural" - de la 1 la infinit ("+": "Document + .txt"), "fie 0, fie 1" ("?"). În mod implicit, cuantificatorul pentru acest set de caractere este egal cu unul ("document.txt").

Pentru o căutare mai flexibilă pentru combinații, aceste pachete "simboluri - un cuantificator" pot fi combinate în metastructuri.

Ca un instrument flexibil, expresii regulate se îndoaie, dar nu absolut: zona aplicației lor este limitată. De exemplu, dacă trebuie să înlocuiți un rând fix la altul, fixați din nou, utilizați str_replace. Dezvoltatorii PHP au cerut ștecher să nu folosească de dragul acestor funcții complexe ale ereg_replace sau preg_replace, deoarece atunci când le numesc, apare interpretarea șirului, iar acest lucru consumă resursele de sistem. Din păcate, aceasta este raba ta preferată de programatori Novice PHP.

Utilizați expresii regulate numai dacă nu știți exact ce rândul "există". Din exemple: un cod de căutare în care caracterele de serviciu și cuvintele scurte sunt tăiate din șirul de căutare, precum și spații excesive (sau mai degrabă, toate spațiile sunt comprimate: "+" este înlocuit cu un spațiu). Cu ajutorul acestor funcții, verificați utilizatorul de e-mail care lasă feedbackul dvs. Multe utile pot fi făcute, dar este important să țineți cont: expresii regulate nu sunt omnipotent. De exemplu, înlocuirea complexă în textul mare este mai bine să nu faceți. La urma urmei, de exemplu, o combinație "(. *)" În planul de program înseamnă bustul tuturor simbolurilor text. Și dacă șablonul nu este legat la începutul sau sfârșitul liniei, șablonul "se mișcă" de program prin intermediul întregului text și se dovedește forța dublă brute sau o forță destul de brută în piață. Nu este dificil să ghiciți că o altă combinație "(. *)" Înseamnă bust în Cuba și așa mai departe. Luați gradul trei, spuneți, 5 kilobyte text. Se pare 125.000.000.000 (în cuvinte: o sută douăzeci și cinci de miliarde de operațiuni). Desigur, dacă vă apropiați strict, vor exista atât de multe operațiuni și va fi de patru sau opt ori mai mică, dar ordinea numerelor în sine este importantă.

Set de caractere.

. punctorice simbol
[<символы>] paranteza patrataclasa de caractere ("oricare din"). de exemplu
[^<символы>] clasa de simbol negativ ("Oricine, cu excepția")
- dashdesemnarea secvenței în clasa de caractere ("- numere)
\\ D. Numai numerele
\\ D.[^0-9] Pe lângă numere
\\ W. Litere și numere
\\ W.[^ a-z0-9]Cu excepția literelor și numerelor
\\ S. Blind simboluri: spațiu, fila, transfer de rând
\\ S.[^ ] Pe lângă simbolurile globale
| (unul | altele)În acest loc poate exista una dintre opțiunile enumerate, de exemplu: (Vasya | Peter | Masha). Dacă nu doriți să intrați în eșantion, utilizați (?: ...)

Nu utilizați clasa de simbol pentru a desemna doar una (în loc de "+" coborâți complet "+"). Nu scrieți un punct în clasa simbolului - acesta este un caracter, apoi alte caractere din clasă vor fi pur și simplu inutile (și în clasa negativă va fi negată toate caracterele).

Cuantificator

Cuantificatorul poate fi specificat ca o valoare și limite specifice. Dacă numărul de căderi specifice sub cuantificator, fragmentul expresiei este considerat a fi coincis cu șirul rupt. Sintaxă:

{<количество> }

{<минимум> , <максимум> }

Dacă trebuie să specificați doar cel puțin minim, dar nu maxim, pur și simplu punem virgul și nu scrieți al doilea număr: "(5,)" ("minim 5"). Pentru cele mai frecvent utilizate cuantificatoare, există denumiri speciale:

În practică, astfel de caractere sunt folosite mai des decât parantezele curbate.

Ancoră

Aceste personaje trebuie să stea în mod corespunzător la început și la sfârșitul liniei.

Lăcomie

Marcajul de întrebare apare, de asemenea, ca un minimizator cuantificator:
.*?

$1"$ Re1 \u003d" \\ (. *) \\ | Ixs "; $ re2 \u003d" \\ (. *?) \\ | Ixs "; $ rezultat \u003d preg_replace ($ re1, $ to, $ st); echo" Versiunea lacomă: ".htmlspecialchars ($ rezultat, ," Windows-1251 ")."
"$ rezultat \u003d preg_replace ($ re2, $ to, $ str); Echo" versiune leneș: ".htmlspecialchars ($ rezultat, ," Windows-1251 ")."
";?\u003e Rezultatul exemplului: versiunea lacomă: fat Text [b] și aici - Mai mult grăsime returnată Versiunea leneș: text de grăsime [b] și aici - chiar mai mare Întors

Șirul șablonului, după cum ați observat, începe și se termină cu tăieturi. După al doilea, parametrii sunt urmăriți:

i.căutarea dependentă de înregistrare
m.

modul multi-linie. Implicit, PCRE caută coincidențe cu un șablon numai în aceeași linie, iar caracterele "^" și "$" coincid numai cu începutul și sfârșitul textului. Când acest parametru este setat, "^" și "$" coincid cu începutul și sfârșitul liniilor individuale.

s.simbol "." (punct) coincide cu transferul de linie (implicit - nu)
A.legarea la începutul textului
E.determină simbolul "$" numai cu sfârșitul textului. Ignorat dacă este instalat paramet m.
U.Inversarea "lăcomiei" pentru fiecare cuantificator (dacă după un cost cuantificator "?", Acest cuantificator încetează să fie "lacom").
e.Șirul de înlocuire este interpretat ca cod PHP.

Funcții pentru lucrul cu expresii regulate

  • preg_grep.
  • pREG_MATCH - Efectuează o verificare regulată de expresie. Această caracteristică caută numai prima coincidență!
  • preg_match_all.
  • pREG_QUOTE - Shields caractere în expresii regulate. Acestea. Introduceți un slash la toate simbolurile de servicii (de exemplu, paranteze, paranteze pătrate etc.), astfel încât cei percepuți literalmente. Dacă aveți orice intrare de informații despre utilizator și verificați-o cu expresii regulate, atunci este mai bine să expuneți caractere de serviciu în variabila transmisă
  • preg_replace.
  • preg_replace_callback - efectuează o căutare prin exprimare și înlocuire regulată
  • preg_split.

preg_grep.

Funcţie preg_grep. - returnează o serie de apariții care se potrivesc cu șablonul

Sintaxă

array. preg_grep. (Modelul șirului, intrarea matricea [, INT Steaguri])

pREG_GREP () returnează o matrice constând din elemente ale unei matrice de intrare care corespunde modelului de model specificat.

Parametrul steagurilor poate lua următoarele valori:

Preg_grep_invert.
Dacă acest steag este setat, funcția PREG_GREP (), returnează elementele de matrice care nu se potrivesc cu șablonul de model specificat.
Rezultatul returnat de funcția PREG_GREP () utilizează aceiași indicatori ca o serie de date sursă. Dacă acest comportament nu este potrivit, aplicați Array_Values \u200b\u200b() la matricea returnată de preg_grep () pentru reindexare.
Cod simplu:

// returnează toate elementele matricei, // conținând numerele de puncte plutitoare $ fl_array \u003d preg_grep ("/ ^ (\\ d +)? \\. \\ D + $ /", $ matrice);

preg_match.

Funcţie preg_match. - efectuează o verificare regulată de expresie

Sintaxă

int. preg_match. (Modelul șirului, subiectul șirului [, meciurile de matrice [, INT Steaguri [, INT Offset]]] Căutări în meciul specificat de text cu șablonul de model

În cazul în care este specificat parametrul de potrivire suplimentar, acesta va fi completat cu rezultatele căutării. Elementul de meciuri $ va conține o parte din linia corespunzătoare evenimentului întregului șablon, $ meciuri - o parte a șirului corespunzător primului submarin și așa mai departe.

steagurile pot lua următoarele valori:

Preg_offset_capture.

Căutarea este efectuată de la stânga la dreapta, de la începutul liniei. Parametrul opțional de offset poate fi utilizat pentru a indica o poziție de pornire alternativă pentru căutare. Un rezultat similar poate fi realizat prin înlocuirea subiectului pe substr () ($ subiect, $ offset).

Funcția PREG_MATCH () returnează numărul de conformitate găsit. Acest lucru poate fi 0 (fără a găsi coincidențe) și 1, deoarece preg_match () oprește munca sa după prima coincidență găsită. Dacă trebuie să găsiți sau să numărați toate coincidențele, ar trebui să utilizați funcția PREG_MATCH_ALL (). Funcția PREG_MATCH () returnează FALSE dacă s-au produs erori în timpul executării.

Recomandare: Nu utilizați funcția PREGG_MATCH () dacă trebuie să verificați prezența unui substring la o linie dată. Utilizați pentru acest STPOS () sau STRStr (), deoarece îndeplinesc această sarcină mult mai rapidă.

Cod simplu

Cod simplu

Cod simplu

Rezultatul exemplului:

numele domeniului este: site-ul

preg_match_all.

Funcţie preg_match_all. - efectuează o căutare globală a șabloanelor în șir

Sintaxă

int. preg_match_all. (Modelul șirului, subiectul șirului, meciurile de matrice [, INT Steaguri [, INT Offset]])

Căutați toate coincidențele cu șablonul de model în șirul de subiect și pune rezultatul în matricea matricei determinată de combinația steagurilor steagurilor.

După găsirea primei conformități, următoarele căutări vor fi efectuate de la începutul liniei, dar de la sfârșitul ultimei intrări găsite.

Parametrul suplimentar de steaguri poate combina următoarele valori (este necesar să se înțeleagă faptul că utilizarea simultană a preg_pastern_order cu preg_set_order fără sens):

Preg_pattern_order.
Dacă acest pavilion este instalat, rezultatul va fi comandat după cum urmează: Elementul de potrivire a lui $ conține o serie de intrări complete ale șablonului, elementul de $ meciuri conține o serie de introducerea primului Podmascus și așa mai departe.

Cod simplu

]+>(.*)] +\u003e | U "," exemplu:
acesta este un test
", $ out, preg_pastern_order); Echo $ afară.", "$ OUT", ECHO $ \u200b\u200bOUT ".", "$ OUT." \\ n ", rezultatul exemplului: exemplu:,
acesta este un test
Exemplu:, acesta este un test

După cum vedem, $ out conține o serie de intrări complete ale șablonului, iar elementul $ Out conține o serie de substring conținută în etichete.

Preg_set_order.
Dacă acest pavilion este instalat, rezultatul va fi comandat după cum urmează: Elementul de potrivire a lui $ conține primul set de apariții, elementul de $ meciuri conține un al doilea set de apariții și așa mai departe.

Cod simplu

]+>(.*)] +\u003e | U "," exemplu:
acesta este un test
", $ Out, preg_set_order); Echo $ afară.", "$ Out." \\ N "; Echo out", "$ out", "\\ n", rezultatul exemplului de exemplu: exemplu:, Exemplu:
acesta este un test
, acesta este un test

În acest caz, o serie de meciuri de $ conține primul set de apariții, și anume: elementul de potrivire a $ Conține prima intrare a întregului șablon, elementul de $ meciuri conține prima intrare a primei subsidence și așa mai departe. În mod similar, o serie de meciuri de $ conține un al doilea set de apariții și astfel pentru fiecare cadran găsit.

Preg_offset_capture.
Dacă este specificat acest steag, poziția sa în linia sursă va fi indicată pentru fiecare găsit. Trebuie să se reamintească faptul că acest pavilion modifică formatul datelor de returnare: Fiecare intrare se întoarce ca o matrice, în elementul zero al căruia se găsește substringul și în prima compensare.

În cazul în care nu se utilizează nici un pavilion, implicit este preg_patern_order.

Căutarea este efectuată de la stânga la dreapta, de la începutul liniei. Parametrul opțional de offset poate fi utilizat pentru a indica o poziție de pornire alternativă pentru căutare. Un rezultat similar poate fi realizat prin înlocuirea subiectului pe substr () ($ subiect, $ offset).

Returnează numărul intrărilor găsite ale șablonului (poate fi zero) sau FALSE dacă s-au produs erori în timpul executării.

Cod simplu

Cod simplu

textul îndrăzneț.faceți clic pe mine."; preg_match_all (" / ((<([\w]+)[^>]*>)(.*)(<\/\\2>) / ", $ Html, $ meciuri); pentru ($ i \u003d 0; $ i< count($matches); $i++) { echo "matched: " . $matches[$i] . "\n"; echo "part 1: " . $matches[$i] . "\n"; echo "part 2: " . $matches[$i] . "\n"; echo "part 3: " . $matches[$i] . "\n\n"; } ?> Rezultatul exemplului: potrivite: textul îndrăzneț. Partea 1: Partea 2: Textul aldine Partea 3: Potrivite: faceți clic pe mine. Partea 1: Partea 2: Faceți clic pe mine Partea 3:

preg_quote.

Funcţie preg_quote. - Simbolurile scuturilor în expresii regulate

Sintaxă

Şir preg_quote. (Str șir str (, delimiter de șir])

Funcția PREG_QUOTE () ia String Str și adaugă opusul așezat înainte de fiecare caracter de serviciu. Acest lucru este util dacă variabilele de șir sunt implicate în proiectarea șablonului, valoarea căreia în timpul funcționării scenariului se poate schimba.

În cazul în care este specificat parametrul suplimentar delimitator, acesta va fi, de asemenea, protejat. Acest lucru este convenabil pentru protejarea limitatorului, care este utilizată în funcțiile PCRE. Cel mai comun limitator este simbolul "/".

În expresii regulate, se consideră următoarele simboluri :. \\\\ + *? [^] $ () () \u003d!< > | :

Cod simplu

Cod simplu

"$ Cuvânt".", $ textbody); Echo $ text corporal;?\u003e rezultatul exemplului: această carte este * Foarte * Greu de gasit.

preg_replace.

Funcţie preg_replace. - căutați și înlocuiți expresia regulată

Sintaxă

amestecat. preg_replace. (Model mixt, înlocuire mixtă, subiect mixt [, Int Limit])

Căutări în Subiect șir de meciuri cu șablonul de model și le înlocuiește pe înlocuire. În cazul în care este specificat parametrul limită, eliberarea limită a introducerii șablonului va fi înlocuită; Dacă limita este scăzută fie egală cu -1, toată intrarea șablonului va fi înlocuită.

Înlocuirea poate conține referințe ale tipului \\\\ N sau (începând cu PHP 4.0.4) $ N, iar ultima opțiune este preferabilă. Fiecare referință va fi înlocuită cu un substring corespunzător N "substrat închis în paranteze rotunde. N poate lua valori de la 0 la 99, iar referința \\\\ 0 (sau $ 0) corespunde introducerii întregului șablon. Podmas Măștile sunt numerotate de la stânga la dreapta, începând de la unul.

Când utilizați înlocuirea prin șablon utilizând referințe la depuneri, poate apărea o situație atunci când numărul este urmat direct pentru masca. În acest caz, notația formularului duce la o eroare: referirea la primul submarin, urmată de un număr 1, va fi înregistrată ca \\\\ 11, care va fi interpretată ca o trimitere la al unsprezecelea submarin. Această neînțelegere poate fi eliminată dacă utilizați designul de \\ $ (1) 1, indicând o referință izolată la primul submarin, iar numărul 1 urmează.

Cod simplu

Rezultatul acestui exemplu va fi:

Dacă, în timpul executării funcției, s-au detectat coincidențe cu șablonul, valoarea subcetului modificată va fi returnată, altfel subiectul textului sursă va fi returnat.

Primii trei parametri ai funcției preg_replace () pot fi o garnitură unidimensională. În cazul în care matricea folosește cheile la procesarea matricei, vor fi luate în ordinea în care sunt situate în matrice. Specificarea tastelor într-o matrice pentru model și înlocuire nu este necesară. Dacă încă ați decis să utilizați indexuri, pentru a se potrivi cu șabloanele și rândurile implicate în înlocuire, utilizați funcția KSort () pentru fiecare dintre matrice.

Urs negru lent a sărit peste câinele leneș.

Folosind KSort (), primim rezultatul dorit:

Ursul negru lent a sărit peste câinele leneș.

Dacă parametrul subiectului este o matrice, căutarea și înlocuirea pe șablon sunt efectuate pentru fiecare dintre elementele sale. Rezultatul retur va fi, de asemenea, o matrice.

În cazul în care modelul și parametrii de înlocuire sunt matrice, preg_replace () extracte alternativ din ambele matrice prin pereche de elemente și le utilizează pentru operația de căutare și înlocuire. Dacă matricea de înlocuire conține mai multe elemente decât modelul, vor fi luate linii goale în locul articolelor lipsă pentru înlocuire. În cazul în care modelul este o matrice, iar înlocuirea este un șir, pentru fiecare element al matricei de model, se vor realiza căutarea și înlocuirea modelului (toate elementele matricei vor fi alternativ, în timp ce linia de înlocuire rămâne fixă ). Opțiunea Când modelul este un șir, iar înlocuirea este o matrice, nu are sens.

Modificatorul / E Modificator modifică comportamentul funcției preg_replace () în așa fel încât parametrul de înlocuire după efectuarea substituțiilor necesare este interpretat ca un cod PHP și numai după ce este utilizat pentru a înlocui. Folosind acest modificator, aveți grijă: Parametrul de înlocuire trebuie să conțină un cod PHP corect, altfel într-un șir care conține parametrii funcției PREX_RELCELLINE (), va apărea eroarea de sintaxă.

Codul eșantionului: înlocuirea pentru mai multe șabloane

Acest exemplu va scoate la dispoziție:

$ startdate \u003d "5/27/1999";

Codul eșantionului: Utilizarea modificatorului / E

] *\u003e) / E "," "\\\\ 1" .Srtoupper ("\\\\ 2"). "\\\\ 3", $ HTML_body);?\u003e

Codul eșantionului: Convertește toate etichetele HTML în registrul de sus

]*?>.*?"Si", // tăie javascript ""<[\/\!]*?[^<>] *?\u003e "SI", // tăieturile tag-uri HTML "([\\ r \\ n]) [\\ s] +", // taie caracterele spațiale "" & (quot | # 34); "I" , // înlocuiește entitățile HTML "" & (amp | # 38); "I", "" "" "" I "," "" "" # 62); "I", "" & Nbsp | # 160); "I", "" & (IEXCL | # 161); "I", "" & (cent | # 162); "I", "" "" "# 163);" I "," "& (Copie | # 169);" I "," "(\\ d +);" e "); // Interpretați ca un cod PHP $ Înlocuiți \u003d Array ("", "," \\\\ 1 "," \\ "", "&", "<", ">",", CHR (161), CHR (162), CHR (163), CHR (169), "CHR (\\\\ 1)"); $ text \u003d preg_replace ($ search, $ înlocuire, $ document); ?\u003e.

preg_replace_callback.

Funcţie preg_replace_callback. - Căutări pentru exprimarea și înlocuirea regulată utilizând funcția de apel invers

Sintaxă

amestecat. preg_replace_callback. (Model mixt, apel invers, subiect mixt [, Int Limit])

Comportamentul acestei funcții este reamintit în mare măsură de preg_replace (), cu excepția faptului că, în loc de parametrul de înlocuire, trebuie să specificați o funcție de apel invers la faptul că o serie de intrări găsite este transmisă ca parametru primitor. Rezultatul așteptat este un șir care va fi înlocuit.

Cod simplu

\\ s * \\ w | ", creați_funcțional (// utilizând citate unică în acest caz, fundamental, // ecran alternativ toate caracterele" $ "$ meciuri", "return staltolower ($ meciuri);"), $ linia); Echo linia de $;) fclose ($ FP);?\u003e

preg_split.

Funcţie preg_split. - sparge șirul prin expresie regulată

Sintaxă

array. preg_split. (Modelul șirului, subiectul șirului [, INT Limita [, INT Steaguri]])

Returnează o matrice constând dintr-un substring al șirului subiectului specificat, care este împărțit la limitele corespunzătoare șablonului de model.

Dacă este specificat parametrul limită, funcția returnează nu mai mult decât limita substring. Valoarea limită specială, egală cu -1, implică lipsa de restricție, este foarte utilă pentru a specifica un alt parametru steaguri opționale.

Steagurile pot fi o combinație arbitrară a paviliștilor următoare (conexiunea are loc cu operatorul "|"):

Preg_split_no_empty.
În cazul în care acest steag este specificat, funcția PREG_SPLIT () va returna numai substringul non-goale.

Preg_split_delim_capture.
În cazul în care acest steag este specificat, expresia anexată în paranteze în modelul de separare este de asemenea scoasă din rândul specificat și revine la funcție. Acest steagul a fost adăugat la PHP 4.0.5.

Preg_split_offset_capture.
Dacă acest steag este specificat, poziția sa în linia originală va fi specificată pentru fiecare substant găsit. Trebuie să se reamintească faptul că acest pavilion modifică formatul datelor de returnare: Fiecare intrare se întoarce ca o matrice, în elementul zero al căruia se găsește substringul și în prima compensare.

Exemple de cod.

În cazul în care după suportul rotund de deschidere urmează ?: ", captura de coarde nu apare, iar submachina curentă nu este numerotată. De exemplu, în cazul în care rândul" The White Queen "este cartografiat la (((?: roșu | alb) (King | Queen)), va Fiți capturați de "regina albă" și "regina" și vor fi numerotate 1 și 2, respectiv:

$ r \u003d "/ the ((?: roșu alb) (rege | queen)) /"; 0 \u003d "regele alb"; 1 \u003d "rege albă"; 2 \u003d "rege";

Mai multe despre expresii regulate:


Expresii regulate Verificați serviciile:


Citiți mai multe: Biblioteca Răsuci În PHP.
.

Expresiile regulate sunt un instrument foarte util pentru dezvoltatori. Cu ajutorul lor, puteți găsi, identifica sau înlocui text, cuvinte sau alte caractere. În articolul de astăzi, sunt colectate cele 15 cele mai benefice expresii regulate, ceea ce va utiliza orice dezvoltator web.

Introducere în expresii regulate

Mulți dezvoltatori novici par a fi expresii regulate sunt foarte complexe pentru înțelegere și utilizare. De fapt, totul nu este atât de dificil, așa cum pare. Înainte de a trece direct la expresii regulate, cu codul lor util și versatil, să aruncăm o privire la baza:

Sintaxă a expresiilor regulate

Expresie uzuala Mijloace
foo. Rândul "foo"
^ foo. Șirul începe cu "foo"
foo $. Șirul se termină pe "foo"
^ Foo $. "Foo" apare în linie o singură dată
a, B sau c
orice caracter în litere mici
[^ A-z] orice caracter care nu este în majuscule
(GIF | JPG) Înseamnă atât "GIF", cât și "JPEG"
+ Unul sau mai multe simboluri ale registrului inferior
Orice cifră, punct sau minus semn
^{1,}$ Orice cuvânt, cel puțin o literă, număr sau _
()() wy, wz, xy sau xz
(^ A-za-z0-9) Orice simbol (fără număr și nu scrisoare)
({3}|{4}) Înseamnă trei litere sau 4 numere

Funcții PHP pentru expresii regulate

Funcţie Descriere
preg_match () Funcția PREG_MATCH () caută un șir de-a lungul șablonului specificat, returnează TRUE dacă șirul este atât fals, în alte cazuri
preg_match_all () Funcția PREG_MATCH_ALL () găsește toată intrarea șirului specificat de șablon
preg_replace () Funcția preg_replace () este valabilă de același principiu ca și ereg_replace (), cu excepția faptului că expresii regulate pot fi utilizate atât pentru a specifica șablonul de căutare, cât și pentru un șir care urmează să fie înlocuit cu valoarea găsită.
preg_split () Funcția PREG_SPLIT () acționează, precum și Split (), cu excepția faptului că expresia regulată poate fi utilizată ca parametru pentru șablonul de căutare.
preg_grep () Funcția PREG_GREP () caută toate elementele matricei de intrare, returnând toate elementele corespunzătoare modelului de expresie regulat.
preg_quote () Caracterele regulate de expresie regulate

Verificarea unui nume de domeniu

Verificați dacă șirul este numele de domeniu potrivit

$ url \u003d "http://komunitasweb.com/"; Dacă (PREG_MATCH ("/ ^ http | httpps | FTP)): // (* (?: *) +) :() :)? /? / I", $ URL)) (ECHO "URL-ul dvs. este OK . ";) Altfel (ecou" url greșit ";)

Evidențierea cuvântului în text

Aceasta este o expresie obișnuită foarte utilă, cu ea puteți găsi cuvântul potrivit și evidențiați-l. Mai ales util pentru afișarea rezultatelor căutării.

$ Text \u003d "Exemplu de la Komunitasweb, Regex a devenit popular în programarea web. Acum învățăm regex. Potrivit lui Wikipedia, expresii regulate (abreviate ca regex sau regexp, cu forme role regexe, regexi sau regexen) sunt scrise într-o formală Limba care poate fi interpretată de un procesor regulat de expresie "; $ Text \u003d preg_replace ("/ b (regex) b / i", " 1", $ text); Echo $ text;

Rezultatele căutării înapoi în blogul WordPress

După cum sa menționat deja în exemplul anterior, acest exemplu de cod este convenabil de utilizat în emiterea rezultatelor căutării și există o modalitate excelentă de a implementa această funcție în blogul WordPress.

Deschideți fișierul de căutare.php și găsiți funcția the_title (). Înlocuiți-l cu următorul cod:

Echo titlu de $;

Acum, deasupra acestei linii, adăugați acest cod:

\0", $ titlu);?\u003e

Salvați fișierul Search.php și deschideți stilul .Css. Adăugați următorul șir:

Strong.search-Extras (fundal: galben;)

Obținerea tuturor imaginilor din documentul HTML

Dacă ați fost vreodată obligați să obțineți toate fotografiile de pe o pagină web, acest cod ar trebui să fie ușor de a crea încărcător de imagine utilizând capabilități CURL

$ Images \u003d Array (); preg_match_all ("/ (img | src) \u003d (" \\ ") [^" \\ ") [^" \\ "] + / i", $ date, $ media); Debut ($ date); $ date \u003d preg_replace ("/ (img | src) (" | \\ "| \u003d" | \u003d \\ ") (. *) / I", "$ 3", $ media); FOREACH ($ Date ca adresă URL) ($ info \u003d patinfo ($ URL); dacă (ISSET ($ info ["extensie"])) (dacă ($ info ["extensie"] \u003d\u003d "jpg") || ($ info ["extensie"] \u003d\u003d "JPEG") || ($ info ["extensie"] \u003d\u003d "gif") || ($ info ["extensie"] \u003d\u003d "png")) array_push ($ imagini, url $);))

Îndepărtarea cuvintelor repetate (nu sunt sensibile la înregistrare)

În timpul tipăririi, cuvintele sunt adesea repetate? Acesta va ajuta această expresie regulată.

$ text \u003d preg_replace ("/ s (w + s) 1 / i", "$ 1", $ text);

Îndepărtarea de punctuație repetată

La fel, numai pentru punctuație. Trageți cu virgule duble.

$ text \u003d preg_replace ("/.+/ i", ".", $ text);

Căutați etichete XML / HTML

Această caracteristică simplă are două argumente. Primul este o etichetă pe care trebuie să o găsiți, iar cea de-a doua este o variabilă care conține XML sau HTML. Repet, această caracteristică este foarte convenabilă de utilizat cu curl.

Funcție get_tag ($ etichetă, $ xml) ($ etichetă \u003d preg_quote ($ etichetă); preg_match_all ("(<".$tag."[^>]*>(.*?). ")", $ XML, $ meciuri, preg_pastern_order); Returnați meciurile $; )

Căutați etichete XML / XML cu o valoare specifică a atributului

Această caracteristică este foarte asemănătoare cu cea precedentă, cu excepția faptului că puteți cere atributul dorit. De exemplu, puteți găsi cu ușurință

.

Funcție get_tag ($ attr, $ valoare, $ xml, $ eticheta \u003d null) (dacă este_null ($ etichetă) $ tag \u003d "\\ w +"; altcineva $ etichet \u003d preg_quote ($ etichetă); $ attr \u003d preg_quote ( $ Attr); $ valoare \u003d preg_quote (valoare $); $ tag_regex \u003d "/<(".$tag.")[^>] * $ Attr \\ s * \u003d \\ s * "." (["\\"] $ Valoare \\\\ 2 [^\u003e] *\u003e (. *?)<\/\\1>/ "preg_match_all ($ tag_regex, $ xml, $ meciuri, preg_pastern_order); returnează meciurile de $;)

Căutați valori de flori hexazecimale

Un alt instrument util pentru un dezvoltator web! Vă permite să găsiți / verificați valoarea de culoare hexazecimală.

$ string \u003d "# 555555"; dacă (preg_match ("/ ^ # (? :(?: (3)) (1,2)) $ / I", $ string)) (echo "Exemplul 6 de succes";)

Titlul de căutare Articole

Acest fragment de cod va găsi și afișa textul care este în interiorul etichetelor. , pe pagina HTML.

$ Fp \u003d fopen ("http://www.catswhocoge.com/blog", "r"); În timp ce (! Fero ($ FP)) ($ pagina. \u003d Fgets ($ FP, 4096);) $ Titre \u003d Eregici (" (.*)", $ Pagină, $ regs); Echo $ regs; FLOSE ($ FP);

Apache jurnale parsing.

Cele mai multe site-uri rulează pe binecunoscutul server Web Apache. Dacă site-ul dvs. este printre ei, de ce nu utilizați expresii PHP și regulate pentru a respinge jurnalele ApaCha?

// Busteni: Apache Web Server // Hits de succes numai pentru fișierele HTML. Utile pentru numărarea numărului de vizualizări a paginilor. "((? # client IP sau nume de domeniu) S +) S + ((? # Autentificare de bază) S + S + S +) S + [((? # Data și ora) [^]] +)] S + "(?: Get | poste | cap) (((? #File) / [^?"] +? "HTML?)? ((? # Parametri) [^?"] +)? HTTP / + "S + (codul de stare #) 200s + ((? # Bytes transferat) [- 0-9] +) S +" ((? # Referrer) [^ "] *)" S + "(( ? # Agent utilizator) [^ "] *)" $ "// jurnale: Apache Web Server // 404 numai erori" ^ ((? # Client IP sau nume de domeniu) S +) S + ((? # Autentificare de bază) S + S + S +) S + [((? # Data și ora) [^]] +)] S + "(?: Get | Post | cap) ((((#file) [^?"] + )? ((? # Parametri) [^? "] +)? Http / + "s + (codul de stare #) 404s + (((? # Octeți transferat) [- 0-9] +) S +" ((? # Referință) [^ "] *)" s + " (? # Agent utilizator) [^ "] *)" $ "

Înlocuirea citatelor duale "Smart" citate

Dacă sunteți un amator de tipografie, vă veți bucura de această expresie regulată care înlocuiește ghilimele obișnuite duble, pe ghilimele inteligente. O expresie regulată similară este utilizată în WordPress în conținutul paginii.

Preg_replace ("B" B ([^ "x84x93x94rn] +) B" B ","? 1? ", $ Text);

Verificarea completă a parolei

Această expresie regulată va asigura că cel puțin șase caractere, cifre, cratime și subliniere sunt introduse în câmpul de text.

Câmpul de text trebuie să conțină cel puțin un simbol de registru superior, un registru inferior și o cifră.

"A (? \u003d [-_ a-za-z0-9] *?) (? \u003d [-_ a-za-z0-9] *?) (? \u003d [-_ A-ZA0-9] *?) [-_a-za-z0-9] (6,) z "

WordPress: Folosind o expresie regulată pentru a obține imagini din înregistrare

Deoarece mulți dintre voi sunteți utilizatorii WordPress, este posibil să fiți utile pentru codul care vă permite să obțineți toate fotografiile din textul articolului și să le aduceți afară.

Pentru a utiliza acest cod, introduceți-l în orice fișier al subiectului dvs.

post_content; $ szsearchpattern \u003d "~ ] * /\u003e ~ "; Numără ($ apics); dacă ($ inumberofpics\u003e 0) (// coarde ați face tot ce aveți nevoie de a face cu imaginile sunt doar afișate pentru ($ i \u003d 0; $ i< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>

Generarea emoticoanelor automate

O altă caracteristică utilizată în WordPress - vă permite să înlocuiți automat caracterele zâmbitoare din imaginea zâmbetului.

$ texte \u003d "un text cu un zâmbet :-)"; Echo str_replace (":-)", " ", $ texte);