Sākums / Internets / Php regulārās izteiksmes preg atbilst. Regulāras izteiksmes php. Dubultpēdiņu aizstāšana ar viedām pēdiņām

Php regulārās izteiksmes preg atbilst. Regulāras izteiksmes php. Dubultpēdiņu aizstāšana ar viedām pēdiņām


Viena no ļoti jaudīgākajām un noderīgajām funkcijām PHP valoda- atbalsts regulārām izteiksmēm. Daudzus programmētājus, gan iesācējus, gan diezgan pieredzējušus, iebiedē regulārās izteiksmes valodas šķietamā sarežģītība un sarežģītība. Bet varu jums apliecināt – tas ir tā vērts. Regulāro izteiksmju izmantošana ievērojami vienkāršo tekstu un vāji strukturētu datu apstrādes darbu.


Regulārās izteiksmes ir izteiksmes, kas rakstītas īpašā valodā.


Neuztraucieties, valoda ir diezgan viegli saprotama, ir nepieciešama tikai pieredze un prakse. Es domāju, ka esat vairākkārt saskāries ar situācijām, kad jums ir teksts (piemēram, in Microsoft Word


), un tajā jāatrod kaut kas svarīgs. Ja zināt, ko tieši meklējat, viss ir vienkārši: atveriet meklēšanas dialoglodziņu, ievadiet meklēšanas vārdu, nospiediet pogu un voila - teksts ir atrasts. Bet ko jūs darīsit, ja iepriekš zināt tikai to, kāda veida informāciju meklējat? Piemēram, jūs saskaraties ar uzdevumu atrast visas adreses e-pasts

pāris simtu lokšņu dokumentā. Daži skatīs dokumentu manuāli, daži ievadīs suni (@) meklēšanā un meklēs to. Piekrītu - abi varianti ir mugurkauls, nepateicīgs darbs.

Regulārā izteiksme ir teksta virkne, kas veidota saskaņā ar noteiktiem likumiem un noteikumiem. Virkne sastāv no rakstzīmēm un rakstzīmju grupām, metarakstzīmēm, kvantoriem un modifikatoriem.

Zem simboliem šajā gadījumā tiek saprasti jebkura alfabēta simboli. Un ne tikai lasāmās. Lai to izdarītu, izteiksmē var viegli ievietot nelasāmu rakstzīmi, jums tikai jāzina tās kods heksadecimālā formā. Piemēram:

// lasāmas rakstzīmes a E // nelasāmas rakstzīmes un kodi \x41 - tas pats, kas burts "A" \x09 - tabulēšanas rakstzīme

Rakstzīmju grupa ir vairākas rakstzīmes, kas rakstītas secīgi:

Abvg ACZms

Tūlīt gribu vērst jūsu uzmanību - arī “atstarpe” regulārajās izteiksmēs tiek uzskatīta par nozīmīgu rakstzīmi, tāpēc esiet piesardzīgs, rakstot izteicienus. Piemēram, šīs rakstzīmju grupas ir DAŽĀDAS izteiksmes:

ABC KUR ABC KUR

Nākamais valodas elements ir metaraksti. Prefikss "meta" nozīmē, ka šie simboli apraksta dažus citus simbolus vai to grupas. Tabulā ir aprakstītas regulārās izteiksmes valodas galvenās metarakstzīmes:

Metaraksti speciālo rakstzīmju norādīšanai
() Iekavas. Definē ligzdotas izteiksmes.
| Atlases metaraksturs
^ Rindas sākuma metaraksts
$ Rindas beigu metaraksts
\n Rindas plūsmas rakstzīme (heksadecimālais kods 0x0A)
\r Karieta atgriešanas rakstzīme (heksadecim. kods 0x0D)
\t Tabulēšanas rakstzīme (heksadecimālais kods 0x09)
\xhh Ievietojot rakstzīmi ar heksadecimālo kodu 0xhh, piemēram, \x42, tiks ievietots latīņu burts "B"
Metarakstzīmes rakstzīmju grupu norādīšanai
. Punkts. Jebkurš varonis.
\d Cipars (0-9)
\D Nav cipars (jebkura rakstzīme, izņemot rakstzīmes 0-9)
\s Tukša rakstzīme (parasti atstarpe un tabulēšana)
\S Rakstzīme, kas nav tukša (visas, izņemot rakstzīmes, kuras identificē ar metarakstzīmi \s)
\w "Vārdnīcas" rakstzīme (rakstzīme, ko lieto vārdos. Parasti visi burti, visi cipari un pasvītra ("_"))
\W Visas, izņemot rakstzīmes, ko nosaka \w metaraksts

Tabulas otrās puses metarakstus ir ļoti viegli atcerēties. "d" - cipars (cipars), "s" - simbols (simbols), "w" - vārds (vārds). Ja burts ir liels, tad grupas aprakstam jāpievieno “NOT”.

Ņemsim, piemēram, tekstu “Sarkanajā krekliņā ir skaitļi 1812, bet zaļajā krekliņā ir skaitļi 2009”. Apskatīsim vienkāršāko regulāro izteiksmju piemērus:

\d\d\d\d - atradīs 1812 un 2009 \D - atradīs visus burtus, atstarpes un pieturzīmes \s - atradīs visas atstarpes tekstā.

Bet gadu mūsu piemērā var rakstīt nevis ar četriem, bet ar diviem cipariem, vārdiem var būt arī citas deklinācijas utt. Šeit var palīdzēt rakstzīmju apakškopas, kas norādītas, izmantojot kvadrātiekavas:

Nozīmē jebkuru ciparu (tāds pats kā \d) - nozīmē pāra ciparu - nozīmē jebkuru latīņu alfabēta simbolu (jebkurā gadījumā) vai ciparu.

Piemēram, izteiksme \d\d\d testa virknē atradīs tikai 1812, bet ne 2009. Šī izteiksme ir jālasa šādi: "atrast visas četru ciparu secības, kurās pēdējais cipars ir 0,2,4,6 vai 8"

Mums atliek tikai pieminēt kvantorus un modifikatorus.

Kvantifikators ir īpaša konstrukcija, kas nosaka, cik reižu ir jāparādās rakstzīmei vai rakstzīmju grupai. Kvantifikators ir rakstīts cirtaini iekavās "()". Ir iespējami divi ierakstīšanas formāti: precīzs un diapazons. Precīzs formāts ir uzrakstīts šādi:

Šeit X ir skaits, cik reižu ir jāatkārto iepriekšējais simbols vai grupa. Piemēram, izteiksme

Otrs ierakstīšanas veids ir diapazons. Ierakstīts kā

(X, Y) // vai (,Y) // vai (X,)

kur X ir minimālais un Y ir maksimālais atkārtojumu skaits. Piemēram:

lasīt kā "secīgi rakstīti divi līdz četri cipari". Ja viena no robežām nav norādīta, netiek pieņemts nekāds ierobežojums. Piemēram:

\w(3,) — trīs vai vairāk burti. \d(,5) - skaitļu nav vispār vai ir, bet ne vairāk kā pieci.

Kvantifikatorus var lietot vai nu vienai rakstzīmei, vai grupai:

[A-Yaa-ya] (1,3)

Šī konstrukcija no teksta atlasīs visus krievu vārdus ar vienu, diviem vai trīs burtiem (piemēram, "vai", "nē", "es", "es eju" utt.).

Papildus krokainajām lencēm ir vēl trīs kvantatora metarakstzīmes: “*” (zvaigznīte), “+” (pluss) un “?” (jautājums). Tos izmanto gadījumos, kad minimālais un maksimālais nepieciešamo atkārtojumu skaits iepriekš nav zināms. Piemēram, meklējot e-pasta adreses, jūs nevarat iepriekš pateikt, cik rakstzīmju būs lietotājvārdā (pirms "suns") un cik daudz - domēna nosaukumā (pēc "suns").

Metaraksts "*" tiek lasīts kā "jebkura summa no nulles vai vairāk", t.i. dizains

definē jebkuru secīgu burtu skaitu, ieskaitot to pilnīgu neesamību.

Simbols "+" atšķiras no zvaigznītes tikai ar to, ka tam nepieciešama vismaz viena rakstzīme. Tie. dizains

saskaņo jebkuru ciparu secību ar vienu vai vairākiem cipariem.

Simbols "?" atbilst vienas rakstzīmes neesamībai vai klātbūtnei. Tie. dizains

saskaņo jebkuru ciparu secību ar vienu vai diviem cipariem.

Šeit ir vērts pieminēt tādu antiifiers “*” un “+” iezīmi kā alkatība. Lieta ir tāda, ka pēc noklusējuma šīs rakstzīmes atbilst pēc iespējas garākajai rakstzīmju secībai. Piemēram, rindai “mamma mazgāja rāmi” izteiksme:

izvēlēsies “mama soap ra”, kas ir nedaudz negaidīti, jo cerējām, ka dabūsim “ma”. Lai mainītu šo darbību, izmantojiet metarakstūru "?" (jautājuma zīme), kas rakstīts uzreiz aiz kvantatora. Tas ierobežo kvantoru "apetīti", liekot tiem atgriezties pirmajā, nevis garākajā sakritībā. Tagad mainīsim iepriekšējo piemēru:

un iegūstiet nepieciešamo spēli "ma".

Pēdējais valodas elements ir modifikatori. Modifikators ir īpaša rakstzīme, kas definē “sistēmas” parametrus regulāro izteiksmju analīzei. Ir tikai četri šādi simboli, tos var izmantot gan atsevišķi, gan vienlaikus:

i Iespējo reģistrjutīgo režīmu, t.i. lielie un mazie burti izteiksmē neatšķiras.
m Norāda, ka meklējamais teksts ir jāuzskata par sastāvošu no vairākām rindiņām. Pēc noklusējuma regulārās izteiksmes programma tekstu apstrādā kā vienu virkni neatkarīgi no tā, kāda tā patiesībā ir. Attiecīgi metarakstzīmes "^" un "$" norāda visa teksta sākumu un beigas. Ja šis modifikators ir norādīts, tie attiecīgi norādīs katras teksta rindiņas sākumu un beigas.
s Noklusējuma metarakstzīme ir "." definīcijā neiekļauj jaunrindas rakstzīmi. Tie. vairākrindu tekstam izteiksme /.+/ atgriezīs tikai pirmo rindiņu, nevis visu tekstu, kā paredzēts. Norādot šo modifikatoru, šis ierobežojums tiek noņemts.
U Pēc noklusējuma visas kvantitatīvās metarakstzīmes padara par "nemantkārīgām". Dažās valodas modifikācijās (īpaši PHP) “U” vietā tiek izmantota rakstzīme “g”, kas vairāk atbilst nozīmei (“g” ir saīsinājums no angļu valodas “greedy”, “greedy” ).

Tabulā parādīti populārākie un nepieciešamie regulāro izteiksmju piemēri. Daži no tiem jums var šķist sarežģīti un apgrūtinoši, taču, rūpīgi izpētot, jūs noteikti sapratīsit.

Regulāras izteiksmes PHP.

Lai strādātu ar regulārām izteiksmēm PHP, ir īpašas funkcijas, kuru saraksts īss apraksts ir norādīti tabulā:

int preg_match (virknes modelis, virknes priekšmets [, masīva atbilstības])

Funkcija pārbauda, ​​vai objekta saturs atbilst paraugam. Atgriež 1, ja tiek atrastas atbilstības, pretējā gadījumā atgriež 0. Ja norādāt neobligāto atbilstības masīva parametru, tad, kad funkcija tiks izpildīta, tajā tiks ievadīts viens elements - pirmā atrastā atbilstība.

int preg_match_all (virknes modelis, virknes priekšmets, masīvs atbilst [, int secība])
Funkcija ir identiska iepriekšējai, ar vienīgo atšķirību – tā pārmeklē visu tekstu un atgriež VISAS sakritību masīvā atrastās atbilstības.
jaukts preg_replace (jaukts raksts, jaukta aizstāšana, jaukts temats [, iekšējais ierobežojums])
Tāpat kā abas tās priekšgājējas funkcijas, preg_replace meklē teksta daļu, kas atbilst paraugam. Funkcija visus atrastos fragmentus aizstāj ar parametros norādīto tekstu.
jaukts preg_replace_callback (jaukta shēma, jaukta atzvanīšana, jaukta tēma [, iekšējais ierobežojums])
Funkcija ir iepriekšējās paplašināta versija. Galvenā atšķirība ir tā, ka šai funkcijai parametros tiek nodots tās funkcijas nosaukums, kas analizēs tekstu un ģenerēs aizstājošo tekstu.
masīvs preg_split (virknes modelis, virknes priekšmets [, int limits [, int karodziņi]])
Šī funkcija ir līdzīga eksplode() un split() funkcijām. Tā īpatnība ir tāda, ka atdalītājs nav fiksēta virkne, bet gan regulāra izteiksme. Funkcija sadala avota datus elementos un ievieto tos izvades masīvā.
masīvs preg_grep (virknes raksts, masīva ievade)
Funkcija ir paredzēta regulārai meklēšanai masīvos. Meklēšanai tiek norādīta veidne un ievaddatu masīvs, un tiek atgriezts masīvs, kas sastāv tikai no elementiem, kas atbilst veidnei.

Apskatīto funkciju saraksts nebūt nav pilnīgs, taču tas ir pilnīgi pietiekams, lai veiksmīgi sāktu darbu ar regulārām izteiksmēm. Ja jūs interesē šī tēma, noteikti izlasiet papildu literatūru (piemēram, Frīdla grāmatu “Regulārās izteiksmes”). Turklāt apmācības nolūkos iesaku uzstādīt kādu no īpašas programmas regulāro izteiksmju pārbaudei (piemēram, "PCRE" vai "RegEx Builder").

Sāksim ar to, kas ir regulārā izteiksme. Tāpēc atbildiet man uz šo jautājumu: vai vārdā "tests" ir burts "e"? "Ēd!" tu saki. Tad es jums uzdodu otro jautājumu, kā jūs atradāt burtu "e" vārdā "tests"? Atbilde ir acīmredzama, mēs ņemam pirmo rakstzīmi, tas ir, “t” un salīdzinām ar to, ko meklējam, tas ir, ar “e”. Ja tie nav vienādi, mēs ņemam otro rakstzīmi, tas ir, “e”, un salīdzinām ar to, ko meklējam, tas ir, “e”. Voila! Tika atrasta atbilstība. Atbilde: Vārds "tests" satur burtu "e".

Tagad atbildiet man vēl uz vienu jautājumu, kur ir regulārā izteiksme šajā piemērā? Es ceru, ka jūs uzminējāt, ka regulārā izteiksme šeit ir tas, ko mēs meklējam vārdā "tests". Tas nozīmē, ka burts “e” šajā piemērā ir regulāra izteiksme.

Kam PHP tiek izmantotas regulārās izteiksmes? Manā praksē regulāras izteiksmes tika izmantotas, piemēram, lai noteiktu, vai e-pasta adrese ir izveidota pareizi. Šādas izteiksmes izmanto arī lietotājvārda un paroles pareizības noteikšanai. Izmantojot regulārās izteiksmes, jūs varat atrast adresi saitē un saglabāt to. Ir daudzas lietas, ko varat darīt, analizējot to, jūs varat noteikt regulāro izteiksmju galveno funkciju un divas blakus funkcijas. Galvenā funkcija, šī ir atbilstības meklēšana virknē. Blakusparādības ietver atrasto sērkociņu saglabāšanu un aizstāšanu.

Pirmā regulārā izteiksme

Teorētiski mēs saprotam, kā atrast rakstzīmi “e” vārdā “tests”, bet kā tas tiek īstenots praksē? Lai php izmantotu regulāras izteiksmes, parasti tiek izmantotas šādas funkcijas:

preg_match("regulārā izteiksme (raksts)", "mainīgais, kurā tiek veikta meklēšana", "Mainīgais, kurā tiek saglabāts meklēšanas rezultāts (neobligāts parametrs)"); - Saskaņošanas funkcija
preg_replace("regulārā izteiksme (raksts)", "Ar ko aizstāt atrasto atbilstību", "mainīgais, kurā tiek veikta aizstāšana"); - Nomaiņas funkcija

Sāksim izmantot šīs funkcijas. Šeit ir piemērs rakstzīmes "e" meklēšanai vārdā "tests".

$a = "pārbaude";
if(preg_match("/e/",$a)) echo "atrasts!!";

Kods apraksta nosacījumu: ja mainīgajā $a tiek atrasts kaut kas atbilstošs paraugam, parādiet ziņojumu “found!!” Kā jūs, iespējams, pamanījāt, mūsu veidne atrodas starp diviem "/". Šajā gadījumā simbols "/" simbolizē mūsu modeļa sākumu un beigas. Es ceru, ka tas ir skaidrs.

Tas viss, protams, ir interesanti... bet mūsu veidne ir ļoti vienkārša, vai ne? Galu galā mums reti ir jāatrod kāds simbols mainīgajā. Vairumā gadījumu mums ir jāatrod daudzas rakstzīmes un arī nezināmas. Kā tas var būt? Izvirzīsim sev problēmu un mēģināsim to atrisināt. Pieņemsim, ka mums ir virkne, kas sastāv no cipariem un viena nezināma angļu burta

Kā atrast šo vēstuli? Var būt jebkurš angļu alfabēta burts, kā jūs to varat identificēt? Jūs pats atbildējāt uz savu jautājumu, ir jebkurš burts, tas ir, tas ir diapazonā no a līdz z. Regulārajās izteiksmēs varat izmantot diapazonus. Ja nezinām, kādu rakstzīmi meklējam, bet noteikti zinām, ka šī rakstzīme ir angļu alfabēta burts, tad ieraksts būs šāds:

$a = "123a321";
if(preg_match("//",$a)) echo "atrasts!!";

Ņemiet vērā, ka diapazons ir ietverts "[" "]" iekavās. Jebkas šajās iekavās ietvertais ir definēts kā viena rakstzīme, šajā gadījumā rakstzīme ir no a līdz z. Ja mums jāatrod nevis burts, bet cipars, tad ieraksts būs šāds:

$a = "abc1cba";
if(preg_match("//",$a)) echo "atrasts!!";

Vēlos arī atzīmēt, ka regulārās izteiksmes ir reģistrjutīgas, tāpēc rakstzīmes “A” un “a” ir pilnīgi atšķirīgas. Lai meklētu abas rakstzīmes, rakstiet šādi:

$a = "123a321";
if(preg_match("//",$a)) echo "atrasts!!";

Ir arī krievu burtu meklēšana, kas tiek veikta tāpat kā angļu valodā:

$a = "123 × 321";
if(preg_match("/[a-zA-Z]/",$a)) echo "atrasts!!";

Metaraksti

Mēs iemācījāmies virknē meklēt nezināmu rakstzīmi. Ko darīt, ja jāatrod vairākas rakstzīmes? Palīgā nāk tā saucamie metasimboli... Pieņemsim, ka mums ir virkne ar cipariem un burtiem, kā to var aprakstīt veidnē? To var izdarīt:

līnija - 123a321
paraugs -

Hmm... veidne faktiski atbilst mūsu virknei, un, pārbaudot atbilstību, tā sniegs ilgi gaidīto patiesību! Bet tas ir sava veida apgrūtinošs ieraksts, vai ne?

Lūk, kā to saīsināt:

līnija - 123a321
paraugs - *

Man šķiet, ka tas ir īsāks. Kas ir “*” simbols? Šis ir tas pats metasimbols, tas nozīmē, ka mūsu aprakstītais simbols (proti, simbols, kas var saturēt ciparus no 0 līdz 9 vai angļu alfabēta burtus no a līdz z) var tikt atkārtots bezgalīgi vai vairāk nekā vienu reizi. jā jā! Šis metasimbols atradīs atbilstību tukšā mainīgā, jo pat tad, ja nav aprakstītā simbola, tiks atgriezta patiesība! Atcerieties šo

Kādi citi metaraksti ir tur?

Piemēram, metaraksts "+" Tas ir gandrīz līdzīgs metarakstzīmei "*" ar vienu nelielu izņēmumu. “*” atgriezīs patiesu, pat ja nav rakstzīmes, un “+” pārbaudīs, vai ir vismaz viena rakstzīme. Tas ir, ja rindā ir nepieciešama vismaz viena rakstzīme, izmantojiet “+”, nevis “*”

Bieži tiek izmantots arī metaraksts "?". Tas nozīmē, ka rindā nedrīkst būt vairāk par vienu vēlamo rakstzīmi. Ļaujiet man sniegt dažus piemērus pēdējām divām manis aprakstītajām metarakstzīmēm.

Pieņemsim, ka mums ir jāpārbauda lietotāja paroles pareizība. Padomāsim par to, kam vajadzētu būt lietotāja parolei? Pirmkārt, tai ir jābūt vismaz vienai rakstzīmei. Otrkārt, tajā jāsatur tikai angļu alfabēta cipari un burti, tāpēc regulārā izteiksme izskatīsies šādi:

$a = "qwerty12345";

Kādas rakstzīmes mēs pieļaujam? Angļu burti jebkurā gadījumā un cipari. Tagad mēģiniet paroles vietā atstāt tukšu rindiņu.

$a = "";
if(preg_match("/+/",$a)) echo "Parole ir pareiza";

Jūs neredzēsit ziņojumu “Parole ir pareiza”. Kāpēc? Jo "+" metaraksts pārbaudīja virkni, lai redzētu, vai tajā ir vismaz viena rakstzīme.

Un tagad neliels triks, paskatīsimies uz mūsu izteiksmi, mēs neļāvām, nu, teiksim, atstarpi tajā, vai ne? ielieciet atstarpi paroles beigās un palaidiet

$a = "qwerty12345";
if(preg_match("/+/",$a)) echo "Parole ir pareiza";

Un kāpēc mēs redzam ziņojumu par pareizo paroli? Tas ir pavisam vienkārši... Funkcija preg_match(); pārtrauc savu pārbaudi pirmajā mačā. Tas nozīmē, ka simbols “q” atbilst mūsu aprakstītajam modelim, un viss pārējais vairs nav svarīgs funkcijai. Kas mums jādara? Lai to labotu, veiciet tālāk norādītās darbības.

$a = "qwerty12345";
if(preg_match("/^+$/",$a)) echo "Parole ir pareiza";

Pievienojot "^" izteiksmes sākumā un "$" beigās, mēs pasakām funkcijai, ka visai virknei ir jāatbilst paraugam. Ja palaižat šo kodu, jūs neredzēsit ziņojumu, jo paroles beigās ir nelegāla rakstzīme - atstarpe

Tagad mainiet metarakstūru "+" uz metarakstūru "?". Kā jūs domājat, kas notiks? Pareizi, netiks parādīts ziņojums par paroles pareizību, jo parole satur vairāk nekā vienu rakstzīmi. Es ceru, ka es pareizi izskaidroju šo trīs bieži lietoto metaraksturu darbību

Dažreiz "nē" ir labāks

Mēs vismaz esam iemācījušies pārbaudīt, vai parole ir pareiza, un tas ir labi! Ļaujiet man pastāstīt par citu veidu, kā meklēt kaut ko virknē. Pieņemsim, ka mums ir jāpārbauda, ​​vai virknē nav skaitļu. Kā to izdarīt? Lūk, līnija:

(Es īpaši ieviesu tajā šos “-_+()” simbolus, lai dzīve nešķistu kā medus...) Mēs varētu formulēt šādu izteiksmi:

Bet jums jāatzīst, ka mēs ne vienmēr zinām, kādas rakstzīmes tiek izmantotas rindā, taču mēs noteikti zinām, ka tajā nedrīkst būt cipari! Tāpēc loģiskāk būtu vienkārši uzrakstīt veidni, kurā tiktu izlaistas rindas, kurās nav skaitļu, nevis tās, kurās ir “Ak Dievs, cik daudz nesaprotamu zīmju!!!” . Šeit ir pareizi sastādītas izteiksmes piemērs šādām problēmām:

$a = "a-_+()";
if(preg_match("/^[^0-9]+$/",$a)) echo "Nav skaitļu!";

Kā mēs to panācām? Ievadījām simbolu, bet!

Nu ko, lēnām iesaiņosim... Došu divus piemērus ar paskaidrojumiem, kuru laikā uzzināsim, kā saglabāt meklēšanas rezultātu mainīgajā, un uzzināsim, kā pārbaudīt pasta adreses pareizību

Es to redzēju un saglabāju!

Mans emuārs

$a = " Mans emuārs";
preg_match("/ /", $a);

Regulārajā izteiksmē mēs aprakstījām visas iespējamās rakstzīmes, kuras var iekļaut saitē. Es vēlos pievērst uzmanību pēdiņām un “/” rakstzīmēm mūsu izteiksmē pirms tām ir slīpsvītra, kam tas paredzēts? Fakts ir tāds, ka "/" un citāts paši par sevi ir īpašas rakstzīmes. Un, lai veidne tos uztvertu kā parastus simbolus, mums tie ir jāpārmeklē. Escape tiek veikts, pirms īpašajām rakstzīmēm pievienojot atpakaļsvītru. Es ceru, ka tas ir skaidrs

$a = " Mans emuārs";
preg_match("/ /", $a, $b);

Nu, attiecīgi, ir jāpievieno papildu parametrs mainīgā $b formā, kurā tiks saglabāta atrastā saite. Jums arī jāzina, ka meklēšanas rezultāts ir ievietots masīvā. Tāpēc mainīgais $b ir masīvs. Informācija, ko mēs meklējam, atrodas indeksā 1. Tas nozīmē, ka meklēšanas rezultāts ir mainīgajā $b. Parādīsim rezultātu ekrānā:

$a = " Mans emuārs";
preg_match("/ /", $a, $b);
atbalss $b;

Pareiza adrese ir panākumu atslēga!

Un visbeidzot atbilde uz jautājumu, vai e-pasts ir pareizs? Pirmkārt, jums ir jānoskaidro, kādas rakstzīmes ir atļautas adresēs? Cik es zinu, atļautās rakstzīmes ietver:

  • Angļu burti, cipari, “_”, “-” ummmm, šķiet, viss ir... Mēs turpināsim no tā.
  • Tālāk mums ir "@"
  • Pēc tam angļu burti
  • Nākamais punkts
  • Un atkal angļu burti...

Tātad regulārā izteiksme būs šāda:

$a = " [aizsargāts ar e-pastu]";
if(preg_match("/^+@+.+$/", $a)) echo "e-pasta adrese ir pareiza!";
else echo "e-pasta adrese NAV uzrakstīta pareizi!";

Nu... Es ceru, ka šādi ieraksti jūs tagad nebiedē, un jūs tos varat diezgan saprast.

Visbeidzot, es gribu kaut ko pateikt. Raksts izrādījās apgrūtinošs un tajā pašā laikā aptvēra tikai daļu no iespējām. Ja jūs lasāt šo teikumu, tad, visticamāk, esat to izlasījis līdz beigām, par ko liels paldies

Kas attiecas uz rakstu sēriju par cms bloga izstrādi, tad sērijas pirmo daļu pasludinu par slēgtu!

Regulāras izteiksmes ļauj virknē atrast secības, kas atbilst modelim. Piemēram, veidne “Vasya(.*)Pupkin” ļaus jums atrast secību, ja starp vārdiem Vasya un Pupkin ir neierobežots skaits rakstzīmju. Ja jāatrod seši cipari, tad rakstām “(6)” (ja, piemēram, no sešiem līdz astoņiem cipariem, tad “(6,8)”). Tas atdala tādas lietas kā rakstzīmju kopas indikators un vajadzīgā skaitļa indikators:

Rakstzīmju kopas vietā var izmantot jebkuras rakstzīmes apzīmējumu - var norādīt konkrētu rakstzīmju kopu (tiek atbalstītas secības - minētais "0-9"); Var norādīt "izņemotšis komplekts

rakstzīmes". Rakstzīmju skaits oficiālajā PHP dokumentācijā tiek saukts par "kvantifikatoru". Termins ir ērts un nerada pārpratumus. Tātad kvantoram var būt vai nu noteikta vērtība — vai nu viena fiksēta vērtība (“(6)”), vai skaitlisks intervāls (“(6,8)”), vai abstrakts “jebkurš skaitlis, ieskaitot 0” (“( “ *”), “jebkurš dabiskais skaitlis

" - no 1 līdz bezgalībai ("+": "dokuments+.txt"), "0 vai 1" ("?"). Šīs rakstzīmju kopas noklusējuma kvantors ir viens ("document.txt").

Elastīgākai kombināciju meklēšanai šīs saites “rakstzīmju kopa – kvantors” var apvienot metastruktūrās.

Tāpat kā jebkurš elastīgs rīks, regulārās izteiksmes ir elastīgas, bet ne absolūti: to piemērošanas joma ir ierobežota. Piemēram, ja jums ir jāaizstāj viena fiksēta virkne tekstā ar citu, fiksētu vēlreiz, izmantojiet str_replace. PHP izstrādātāji ar asarām lūdz šim nolūkam neizmantot sarežģītas funkcijas ereg_replace vai preg_replace, jo tās izsaucot notiek virkņu interpretācijas process, un tas nopietni patērē sistēmas resursus. Diemžēl šis ir iesācēju PHP programmētāju iecienītākais grābeklis. Izmantojiet regulārās izteiksmes funkcijas tikai tad, ja precīzi nezināt, kāda virkne ir tur. Piemēri: meklēšanas kods, kurā no meklēšanas virknes tiek izgrieztas pakalpojumu rakstzīmes un īsi vārdi, kā arī tiek izgrieztas papildu atstarpes (pareizāk sakot, visas atstarpes ir saspiestas: “+” tiek aizstāts ar vienu atstarpi). Izmantojot šīs funkcijas, es pārbaudu tā lietotāja e-pastu, kurš atstāj savu atsauksmi. Var izdarīt daudz, taču ir svarīgi paturēt prātā, ka regulārās izteiksmes nav visvarenas. Piemēram, sarežģīta aizstāšana Labāk tos nedarīt. Galu galā, piemēram, kombinācija “(.*)” programmas terminos nozīmē visu teksta rakstzīmju meklēšanu. Un, ja veidne nav piesaistīta rindas sākumam vai beigām, programma pati veidni “pārvieto” pa visu tekstu, un rezultāts ir dubultā meklēšana vai drīzāk meklēšana kvadrātā. Nav grūti uzminēt, ka cita kombinācija “(.*)” nozīmē atkārtošanu pa kubu utt. Palieliniet, teiksim, 5 kilobaitus teksta līdz trešajai pakāpei. Izrādās 125 000 000 000 (vārdos: simts divdesmit pieci miljardi operāciju). Protams, ja pieiet strikti, operāciju nebūs tik daudz, bet četras līdz astoņas reizes mazāk, taču svarīga ir pati skaitļu secība.

Rakstzīmju kopa
. punktsjebkurš raksturs
[] kvadrātiekavāsrakstzīmju klase ("jebkura no"). Piemēram
[^] negatīvo rakstzīmju klase ("jebkura, izņemot")
- domuzīmesecības apzīmējums rakstzīmju klasē ("" cipari)
\d Tikai cipari
\D[^0-9] Bez skaitļiem
\w Burti un cipari
\W[^a-z0-9]Papildus burtiem un cipariem
\s Atstarpes rakstzīmes: atstarpe, tabulēšana, jauna rindiņa
\S[^ ] Izņemot atstarpes rakstzīmes
| (viens|cits)Šajā vietā var būt kāda no uzskaitītajām iespējām, piemēram: (Vasya|Petya|Masha). Ja nevēlaties, lai tas tiktu iekļauts izlasē, izmantojiet (?: ...)

Neizmantojiet rakstzīmju klasi, lai apzīmētu tikai vienu ("+" vietā "+" derēs). Nerakstiet punktu rakstzīmju klasē, tā ir jebkura rakstzīme, tad citas rakstzīmes klasē vienkārši būs liekas (un negatīvā klase tā rezultātā tiks noliegtas visas rakstzīmes).

Kvantifikators

Kvantifikators var norādīt gan konkrētu vērtību, gan robežas. Ja norādītais skaitlis ietilpst kvantatora robežās, tiek uzskatīts, ka izteiksmes fragments atbilst parsētajai virknei. Sintakse:

{ }

{ , }

Ja jānorāda tikai nepieciešamais minimums, bet maksimuma nav, vienkārši ielieciet komatu un nerakstiet otro skaitli: “(5,)” (“minimums 5”). Visbiežāk lietotajiem kvantoriem ir īpaši apzīmējumi:

Praksē šādi simboli tiek izmantoti biežāk nekā cirtaini breketes.

Enkuri

Šīm rakstzīmēm jāparādās attiecīgi rindas pašā sākumā un pašās beigās.

Mantkārība Jautājuma zīme darbojas arī kā kvantatora minimizētājs:
.*?

Piemēra rezultāts: Mantkārīga versija: treknraksts [b]un šeit - vēl treknāks atgriezts Lazy versija: treknraksts [b]un šeit - vēl treknāks atgriezts

Veidnes rinda, kā jūs jau pamanījāt, sākas un beidzas ar slīpsvītām. Pēc otrā ir parametri:

ireģistrjutīga meklēšana
m

daudzrindu režīms. Pēc noklusējuma PCRE meklē raksta atbilstības tikai vienā rindā, un rakstzīmes "^" un "$" atbilst tikai visa teksta sākumam un beigām.

sJa šī opcija ir iestatīta, "^" un "$" atbilst atsevišķu rindiņu sākumam un beigām.
simbols "." (punkts) atbilst arī rindiņas pārtraukumam (noklusējuma nē)A
piestipriniet pie teksta sākumaE
Uliek "$" rakstzīmei atbilst tikai teksta beigām.
Ignorē, ja ir iestatīts parametrs m.Invertē "mantkārīgs" katram kvantoram (ja pēc kvantatora ir "?", šis kvantors vairs nav "alkatīgs").
e
  • Aizstāšanas virkne tiek interpretēta kā PHP kods.
  • Funkcijas darbam ar regulārām izteiksmēm preg_grep preg_match — veic atbilstības pārbaudi
  • regulāra izteiksme
  • . Šī funkcija meklē tikai pirmo spēli! preg_match_all preg_quote — regulārajās izteiksmēs tiek izmantotas rakstzīmes.
  • Tie. ievieto slīpsvītras pirms visām pakalpojumu rakstzīmēm (piemēram, iekavas,
  • kvadrātiekavās
  • utt.), lai tie tiktu uztverti burtiski. Ja jums ir kāda lietotāja ievade un jūs to pārbaudāt, izmantojot regulārās izteiksmes, tad pirms tā veikšanas labāk ir aizbēgt no pakalpojuma rakstzīmēm ienākošajā mainīgajā.
preg_aizvietot

preg_replace_callback — veic regulārās izteiksmes meklēšanu un aizstāšanu

preg_split

preg_grep

funkcija preg_grep — atgriež gadījumu masīvu, kas atbilst modelim

Sintakse

masīvs preg_grep (virknes modelis, masīva ievade [, int karodziņi])
preg_grep() atgriež masīvu, kas sastāv no ievades masīva elementiem, kas atbilst dotajam modelim. Karogu parametram var būt šādas vērtības: PREG_GREP_INVERT
Ja šis karodziņš ir iestatīts, funkcija preg_grep() tos atgriež
masīva elementi

, kas neatbilst norādītajam raksta modelim.

Preg_grep() atgrieztais rezultāts izmanto tos pašus indeksus kā sākotnējais datu masīvs. Ja šī darbība jums nav piemērota, izmantojiet array_values() masīvā, ko atgriež preg_grep(), lai atkārtoti indeksētu.

Koda paraugs:

preg_split

// Atgriež visus masīva elementus // kas satur peldošā komata skaitļus $fl_array = preg_grep("/^(\d+)?\.\d+$/", $masīvs);

preg_match preg_match funkcija — veic saskaņošanu ar regulāro izteiksmi atbilstības ir norādītas, tas tiks aizpildīts ar meklēšanas rezultātiem. Elementā $matches būs daļa no virknes, kas atbilst visam rakstam, $matches ietvers virknes daļu, kas atbilst pirmajam apakšrakstam utt.

karodziņiem var būt šādas vērtības:

PREG_OFFSET_CAPTURE

Meklēšana tiek veikta no kreisās puses uz labo, no rindas sākuma. Izvēles nobīdes parametru var izmantot, lai norādītu alternatīvu meklēšanas sākuma pozīciju. Līdzīgu rezultātu var panākt, aizstājot priekšmetu ar substr())($subject, $offset).

Funkcija preg_match() atgriež atrasto atbilstību skaitu. Tas var būt 0 (atbilstība nav atrasta) un 1, jo preg_match() pārstāj darboties pēc pirmās atrastās atbilstības. Ja nepieciešams atrast vai saskaitīt visas atbilstības, izmantojiet funkciju preg_match_all(). Funkcija preg_match() atgriež FALSE, ja izpildes laikā rodas kļūdas.

Ieteikums: neizmantojiet funkciju preg_match(), ja jums ir jāpārbauda, ​​vai noteiktā virknē nav apakšvirknes. Šim nolūkam izmantojiet strpos () vai strstr (), jo tie paveiks darbu daudz ātrāk.

Piemēra kods Piemēra kods Piemēra kods Piemēra rezultāts:

domēna vārds ir: vietne

preg_match_all

Funkcija preg_match_all — veic globālu raksta meklēšanu virknē

preg_split

int preg_match_all (virknes modelis, virknes priekšmets, masīva atbilstības [, int karodziņi [, int nobīde]])

Virknes priekšmetā meklē visas raksta modeļa atbilstības un ievieto rezultātu atbilstības masīvā secībā, ko nosaka karogu kombinācija.

Pēc pirmās atbilstības atrašanas turpmākie meklējumi tiks veikti nevis no virknes sākuma, bet gan no pēdējā atrastā gadījuma beigām.

Izvēles karodziņu parametrs var apvienot šādas vērtības (ņemiet vērā, ka PREG_PATTERN_ORDER izmantošana vienlaikus ar PREG_SET_ORDER ir bezjēdzīga):

PREG_PATTERN_ORDER
Ja šis karodziņš ir iestatīts, rezultāts tiks sakārtots šādi: elements $matches satur modeļa pilnīgu gadījumu masīvu, elements $matches satur pirmā apakšparauga gadījumu masīvu un tā tālāk.

Piemēra kods Piemēra rezultāts: piemērs: , šis ir testa piemērs: , šis ir tests

Kā redzam, $out satur pilnīgu modeļa gadījumu masīvu, un $out elements satur tagos ietverto apakšvirkņu masīvu.

PREG_SET_ORDER
Ja šis karodziņš ir iestatīts, rezultāts tiks sakārtots šādi: elements $matches satur pirmo gadījumu kopu, elements $matches satur otro gadījumu kopu utt.

Piemēra kods Piemēra rezultāts: piemērs: , piemērs: šis ir tests, šis ir tests

Šajā gadījumā masīvā $matches ir pirmā atbilstības kopa, proti: elements $matches satur visa modeļa pirmo reizi, elements $matches satur pirmā apakšparauga pirmo reizi un tā tālāk. Tāpat masīvā $matches ir otra atbilstības kopa un tā tālāk katrai atrastajai atbilstībai.

PREG_OFFSET_CAPTURE
Ja šis karodziņš ir norādīts, katrai atrastajai apakšvirknei tiks norādīta tās pozīcija avota virknē. Ir svarīgi atcerēties, ka šis karodziņš maina atgriezto datu formātu: katrs gadījums tiek atgriezts kā masīvs, kura nulles elements satur atrasto apakšvirkni, bet pirmais elements satur nobīdi.

Ja karodziņš netiek izmantots, noklusējuma vērtība ir PREG_PATTERN_ORDER.

Meklēšana tiek veikta no kreisās puses uz labo, no rindas sākuma. Izvēles nobīdes parametru var izmantot, lai norādītu alternatīvu meklēšanas sākuma pozīciju. Līdzīgu rezultātu var panākt, aizstājot priekšmetu ar substr())($subject, $offset).

Atgriež atrastā modeļa gadījumu skaitu (var būt nulle) vai FALSE, ja izpildes laikā radās kļūda.

Piemēra kods Piemēra kods Piemēra rezultāts: atbilst: trekns teksts 1. daļa: 2. daļa: treknraksts 3. daļa: atbilst: noklikšķiniet uz manis 1. daļa: 2. daļa: noklikšķiniet uz manis 3. daļa: preg_quote

Funkcija preg_quote — regulārajās izteiksmēs izspiež rakstzīmes

preg_split

virkne preg_quote (virkne str [, virknes norobežotājs])

Funkcija preg_quote() ņem virkni str un pirms katras īpašās rakstzīmes pievieno atpakaļvērsto slīpsvītru. Tas var būt noderīgi, ja veidnē ir iekļauti virknes mainīgie, kuru vērtība skripta darbības laikā var mainīties.

Ja ir norādīts papildu norobežotāja parametrs, tas arī tiks izspiests. Tas ir noderīgi, lai izvairītos no ierobežotāja, kas tiek izmantots PCRE funkcijās. Visizplatītākais norobežotājs ir "/" rakstzīme.

Regulārajās izteiksmēs par pakalpojumu rakstzīmēm tiek uzskatītas šādas rakstzīmes: . \\ + * ? [ ^ ] $ () ( ) = !< > | :

Piemēra kods Piemēra kods Piemēra rezultāts: Šī grāmata ir *ļoti* grūti atrast. preg_aizvietot

preg_replace funkcija — veic meklēšanu un aizstāšanu, izmantojot regulāro izteiksmi

preg_split

jaukts preg_replace (jaukts raksts, jaukta aizstāšana, jaukts temats [, iekšējais ierobežojums])

Virknes priekšmetā meklē raksta atbilstības un aizstāj tās ar aizstāšanu. Ja ir norādīts limita parametrs, veidnes limita gadījumi tiks aizstāti; ja ierobežojums ir izlaists vai vienāds ar -1, visi parauga gadījumi tiks aizstāti.

Aizstāšana var saturēt atsauces formā \\n vai (kopš PHP 4.0.4) $n, ja vēlams ir pēdējais. Katra šāda atsauce tiks aizstāta ar apakšvirkni, kas atbilst n-tajam apakšrakstam, kas ievietots iekavās numurēti no kreisās puses uz labo, sākot ar vienu .

Izmantojot aizstājējzīmju aizstāšanu, izmantojot apakšmodeli atsauces, var rasties situācija, kad maskai uzreiz seko skaitlis. Šajā gadījumā apzīmējums, piemēram, \\n, rada kļūdu: atsauce uz pirmo apakšrakstu, kam seko skaitlis 1, tiks rakstīts kā \\11, kas tiks interpretēts kā atsauce uz vienpadsmito apakšmodeli. Šo pārpratumu var novērst, izmantojot konstrukciju \$(1)1, kas norāda izolētu atsauci uz pirmo apakšmodeli, kam seko cipars 1.

Koda piemērs

Šī piemēra izvade būs šāda:

Ja funkcijas izpildes laikā tiek atrasta modeļa atbilstība, tiks atgriezta modificētā priekšmeta vērtība, pretējā gadījumā tiks atgriezta sākotnējā tēma.

Pirmie trīs preg_replace() parametri var būt viendimensijas masīvi. Gadījumā, ja masīvs izmanto atslēgas, apstrādājot masīvu, tās tiks ņemtas tādā secībā, kādā tās atrodas masīvā. Atslēgu norādīšana masīvā modelim un nomaiņai nav obligāta. Ja tomēr nolemjat izmantot indeksus, lai saskaņotu aizstāšanā iesaistītos modeļus un virknes, izmantojiet funkciju ksort() katrā masīvā.

Lācis melnais lēni pārlēca pāri slinkajam sunim.

Izmantojot ksort(), mēs iegūstam vēlamo rezultātu:

Lēnais melnais lācis pārlēca slinkajam suni.

Ja priekšmeta parametrs ir masīvs, katram tā elementam tiek veikta modeļa meklēšana un aizstāšana. Atgrieztais rezultāts būs arī masīvs.

Ja modeļa un aizstāšanas parametri ir masīvi, preg_replace() pārmaiņus izgūst elementu pāri no abiem masīviem un izmanto tos meklēšanas un aizstāšanas darbībai. Ja aizstāšanas masīvā ir vairāk elementu nekā raksts, trūkstošo elementu aizstāšanai tiks izmantotas tukšas virknes. Ja raksts ir masīvs un aizstāšana ir virkne, katrs modeļa masīva elements tiks meklēts un aizstāts ar modeli (visi masīva elementi pēc kārtas būs paraugs, bet aizstāšanas virkne paliek fiksēta). Opcijai, kad raksts ir virkne un aizstāšana ir masīvs, nav jēgas.

Modifikators /e maina funkcijas preg_replace() uzvedību tā, ka aizstāšanas parametrs pēc nepieciešamo aizstāšanas veikšanas tiek interpretēts kā PHP kods un tikai pēc tam tiek izmantots aizstāšanai. Lietojot šo modifikatoru, esiet piesardzīgs: aizstāšanas parametram ir jābūt derīgam PHP kodam, pretējā gadījumā rindā, kurā ir funkcijas preg_replace() izsaukums, radīsies sintakses kļūda.

Koda paraugs: aizstājiet ar vairākiem modeļiem

Šis piemērs izvadīs:

$startDate = "27.05.1999.";

Koda piemērs: izmantojot modifikatoru /e Piemēra kods: pārvērš visus HTML tagus par lielajiem burtiem preg_replace_callback

funkcija preg_replace_callback — veic regulārās izteiksmes meklēšanu un aizstāšanu, izmantojot atzvanīšanas funkciju

preg_split

jaukts preg_replace_callback (jaukts modelis, atzvanīšanas atzvanīšana, jaukts temats [, iekšējais ierobežojums])

Šīs funkcijas darbība daudzējādā ziņā ir līdzīga preg_replace(), izņemot to, ka aizstāšanas parametra vietā ir jānorāda atzvanīšanas funkcija, kurai kā ievades parametrs tiek nodots atrasto gadījumu masīvs. Paredzamais rezultāts ir virkne, kas tiks aizstāta.

Piemēra kods (.*?).")", $xml, $matches, PREG_PATTERN_ORDER);

atgriezt $sērkociņus; )

Meklējiet XHTML/XML tagus ar noteiktu atribūta vērtību

Šī funkcija ir ļoti līdzīga iepriekšējai, izņemot to, ka varat piešķirt tagam vēlamo atribūtu. Piemēram, jūs varat viegli atrast .

Funkcija get_tag($attr, $value, $xml, $tag=null) ( if(is_null($tag)) $tag = "\w+"; else $tag = preg_quote($tag); $attr = preg_quote($ attr = preg_quote($tag_regex = "/]*$attr\s*=\s*")$value\\2[^>]*>( .*?)/" preg_match_all($tag_regex, $xml, $matches, PREG_PATTERN_ORDER); atgriezt $matches; )

Vēl viens noderīgs rīks tīmekļa izstrādātājiem! Tas ļauj atrast/pārbaudīt heksadecimālās krāsu vērtības.

$string = "#555555"; if (preg_match("/^#(?:(?:(3))(1,2))$/i", $string)) ( echo "6. piemērs ir veiksmīgs."; )

Meklēt raksta nosaukumu

Šis koda fragments atradīs un parādīs tekstu HTML lapas tagos.

$fp = fopen("http://www.catswhocode.com/blog","r"); while (!feof($fp))( $lapa .= fgets($fp, 4096); ) $titrs = eregi("(.*)",$lapa,$regs); atbalss $regs; fclose($fp);

Apache žurnālu parsēšana

Lielākā daļa vietņu darbojas labi zināmajā Apache tīmekļa serverī. Ja jūsu vietne ir viena no tām, kāpēc gan neizmantot PHP un regulārās izteiksmes, lai parsētu Apache žurnālus?

//Žurnāli: Apache tīmekļa serveris //Veiksmīgi trāpījumi tikai HTML failiem. Noder, lai aprēķinātu lapu skatījumu skaitu. "^((?#klienta IP vai domēna nosaukums)S+)s+((?#pamata autentifikācija)S+s+S+)s+[((?#datums un laiks)[^]]+)]s+"(?: GET|POST|HEAD) ((?#fails)/[^ ?]+?.html?)??((?#parameters)[^ ?]+)? HTTP/+"s+(?#statusa kods)200s+((?#baiti pārsūtīti)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#lietotāja aģents )[^"]*)"$" //Žurnāli: Apache tīmekļa serveris //tikai 404 kļūdas "^((?#klienta IP vai domēna nosaukums)S+)s+((?#pamata autentifikācija)S+s+S+) s+[((?#datums un laiks)[^]]+)]s+"(?:GET|POST|HEAD) ((?#fails)[^ ?"]+)??((?#parametri)[ ^ ?"]+)? HTTP/+"s+(?#statusa kods)404s+((?#baiti pārsūtīti)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#lietotāja aģents )[^"]*)"$"

Dubultpēdiņu aizstāšana ar viedām pēdiņām

Ja esat tipogrāfijas entuziasts, jums patiks šī regulārā izteiksme, kas parastās dubultpēdiņas aizstāj ar gudrām pēdiņām. Līdzīga regulārā izteiksme tiek izmantota WordPress lapas saturā.

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

Visaptveroša paroles pārbaude

Šī regulārā izteiksme nodrošinās, ka teksta laukā tiek ievadītas vismaz sešas rakstzīmes, cipari, defises un pasvītras.

Teksta laukā ir jābūt vismaz vienai lielajai rakstzīmei, vienai mazajai rakstzīmei un vienam ciparam.

"A(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?) [-_a-zA-Z0-9](6,)z"

WordPress: Regulārās izteiksmes izmantošana, lai iegūtu attēlus no ziņas

Tā kā daudzi no jums ir WordPress lietotāji, jums var būt nepieciešams kods, kas ļauj iegūt visus attēlus no raksta teksta un tos parādīt.

Lai izmantotu šo kodu, vienkārši ielīmējiet to jebkurā motīva failā.