Den avancerade PHP-programmerarens guide till preg-funktioner

01

av 05

Preg_Grep PHP-funktion

PHP-funktionen, preg_grep

, används för att söka i en array efter specifika mönster och sedan returnera en ny array baserat på den filtreringen. Det finns två sätt att returnera resultaten. Du kan returnera dem som de är, eller så kan du invertera dem (istället för att bara returnera det som matchar, skulle det bara returnera det som inte matchar). Det är formulerat som: preg_grep ( sökmönster, $din_array, optional_inverse ). Search_pattern måste vara ett reguljärt uttryck. Om du inte är bekant med dem ger den här artikeln dig en översikt över syntaxen.

Denna kod skulle resultera i följande data:
Array ( => 4 [5] => 5 )

Array ( [3] => tre [6] => sex [9] => nio )

Först tilldelar vi vår $datavariabel. Detta är en lista med siffror, några i alfaform, andra i numeriska. Det första vi kör heter $mod1. Här söker vi efter allt som innehåller 4, 5 eller 6. När vårt resultat skrivs ut nedan får vi bara 4 och 5, eftersom 6 skrevs som ”sex” så det matchade inte vår sökning.

Därefter kör vi $mod2, som söker för allt som innehåller ett numeriskt tecken. Men den här gången inkluderar vi PREG_GREP_INVERT

. Detta kommer att invertera vår data, så istället för att mata ut siffror, matar den ut alla våra poster som inte var numeriska (tre, sex och nio).

02

av 05

Preg_Match PHP-funktion

Den Preg_Match ​PHP-funktionen används för att söka efter en sträng och returnera en 1 eller 0. Om sökningen lyckades en 1 kommer att returneras, och om den inte hittades kommer en 0 att returneras. Även om andra variabler kan läggas till är det enklast formulerat som: preg_match(search_pattern, your_string)

. Search_pattern måste vara ett reguljärt uttryck.

Koden ovan använder preg_match för att söka efter ett nyckelord (först juice sedan ägg) och svarar baserat på om det är sant (1) eller falskt (0). Eftersom det returnerar dessa två värden, används det oftast i ett villkorligt uttalande.​

03

av 05

Preg_Match_All PHP-funktion

Preg_Match_All används för att söka i en sträng efter specifika mönster och lagrar resulterar i en array. Till skillnad från preg_match som slutar söka efter att ha hittat en matchning, preg_match_all söker igenom hela strängen och registrerar alla matchningar. Det är formulerat som: preg_match_all (mönster, sträng, $array, optional_ordering, optional_offset).

I vårt första exempel använder vi PREG_PATTERN_ORDER. Vi söker efter 2 saker; en är tiden, den andra är det är am/pm-tagg. Våra resultat matas ut till $match, som en array där $match[0] innehåller alla matchningar, $match[1] innehåller all data som matchar vår första delsökning (tiden) och $match[2] innehåller all data som matchar vår andra undersökning (am/pm).

I vårt andra exempel använder vi PREG_SET_ORDER. Detta placerar varje fullständigt resultat i en array. Det första resultatet är $match[0], där $match[0][0] är hela matchen, $match[0][1] är den första delmatchen och $match[0][2] är den andra delmatchen.

04

av 05

Preg_Replace PHP-funktion

Den

preg_replace f unction används för att hitta-och-ersätta på en sträng eller en array. Vi kan ge det en sak att hitta och ersätta (t.ex. letar det efter ordet ”honom” och ändrar det till ”henne”) eller så kan vi ge det en fullständig lista med saker (en array) att söka efter, var och en med en motsvarande ersättare. Det är formulerat som preg_replace ( sök_efter, ersätt_med , din_data , optional_limit, optional_count ) Den limit kommer som standard till -1, vilket är ingen gräns. Kom ihåg att din_data kan vara en sträng eller en array.

I vårt första exempel ersätter vi helt enkelt 'the' med 'a.' Som du kan se är dessa fallkänsliga. Sedan sätter vi upp en array, så i vårt andra exempel ersätter vi både orden ”the” och ”cat”. I vårt tredje exempel sätter vi gränsen till 1, så varje ord byts bara ut en gång. Slutligen, i vårt fjärde exempel, räknar vi hur många ersättningar vi har gjort.

05

av 05

Preg_Split PHP-funktion

Funktionen Preg_ Spilit

används för att ta ett snöre och lägga det in i en array. Strängen är uppdelad i olika värden i arrayen baserat på din inmatning. Det är formulerat som preg_split ( split_pattern, your_data , optional_limit, optional_flags )

I koden ovan utför vi tre splits. I vår första delar vi upp data efter varje tecken. I den andra delar vi upp det med ett tomt utrymme, vilket ger varje ord (och inte varje bokstav) en arraypost. Och i vårt tredje exempel använder vi ett '.' period för att dela upp data, vilket ger varje mening sin egen arraypost.

Eftersom vi i vårt senaste exempel använder ett '.' period för att dela, ett nytt inlägg startas efter vår sista period, så vi lägger till flaggan PREG_SPLIT_NO_EMPTY så att inga tomma resultat returneras. Andra tillgängliga flaggor är PREG_SPLIT_DELIM_CAPTURE, som också fångar karaktären du delar upp efter (vår ”.” för exempel) och PREG_SPLIT_OFFSET_CAPTURE, som fångar offset i tecken där splittringen har skett.

Kom ihåg att split_pattern måste vara ett reguljärt uttryck och att en gräns på -1 (eller ingen gräns) är standard om ingen anges .

Utvald video

Lämna ett svar

Relaterade Inlägg