az internet ablakok Android

A PREG PHP példák cseréje. Rendszeres kifejezések PHP-ben példákkal

A PHP, amint azt a modern programozási nyelv feltételezi, a fejlesztőnek a rendszeres kifejezések használatára szolgáló funkciókat kínálja. A sorok más vonalakra kereshetnek komplex kritériumok.

  • Preg_pattern_order;
  • Preg_set_order.

Rendezés az első kiviteli alak növeli a keresési eredményeket a rendszeres kifejezés számával (alapértelmezett érték). A második esetben az eredmények a helyük helyén vannak csoportosítva.

Szimbólum - sablon elem

Fontos megjegyezni, hogy a sablon karaktereket működtet. A programozás hosszú elfelejtette, hogy milyen típusú adatok "szimbólum". A modern nyelvek nem esnek alá a "string" fogalmából, de a sablonhoz képest meg kell érteni: itt manipulálja a szimbólumokat.

A sablon elkészítése először is, meghatározza a kívánt karaktersorozatot. Ha ez egyértelműen megtanul, akkor a sablonban nem lesz hiba. Mindenesetre sokkal kisebb lesz.

  • a a sablon egy adott eleme - szimbólum.
  • az A-Z egy sablon eleme, egy karaktert is, de csak az A-tól Z-ig terjedő érték az alsó nyilvántartás teljes láza.
  • 0-9 egy számjegy, és minden, de 1-3 - csak 1, 2 vagy 3.

A sablon regisztrálása fontos. Az első és az utolsó sablon szimbólum nagy jelentőséggel bír. Megadhatja, hogy hol kezdődik a sablon és hogyan ér véget.

Funkció sablon

A PHP PREG megfelel az Összes szabványos rendszeres kifejezések szintaxisát használ. Jelölje az általuk megadott karaktereket:

  • Csak a, b, c.
  • [^ Abc] mindegyik, kivéve az A, B, C szimbólumokat
  • \\ W és W - Szöveg vagy nem szövegszimbólum.
  • és egy üres, vagy nem üres szimbólum.
  • \\ D és d - számjegy vagy nem számjegy.

Az ismétlés szimbólumait göndör konzolokkal (N, M) jelöli, és az előző szimbólumhoz tartozik.

  • n jelöli az ismétlődést "nem kevesebbet";
  • m - ismétlés "nem több."

A szintaxis számos lehetőséget teremt sablonok, de ez a legjobb kezdeni Azovi, azaz egyszerű, személyesen írt, amelyekben az összetett elemek és kombinációk hiányoznak.

Egyszerűen felsorolta, felsorolta azokat a valódi karaktereket, amelyeknek szüksége van, meghatározva szükséges mennyiségüket, és hogy a "^" szimbólum megfelel az elejére, és a "$" - a karakterlánc vége, egyszerű mintákat hozhat létre. A szakképzett szakemberek valódi jól megalapozott rendszeres kifejezéseinek elemzése, erős ismereteket szerezhet, hogy összetett PREG-t hozzon létre az összes alkalmazáshoz. A PHP Arsenal nem csak a két funkcióval korlátozódik, hanem leggyakrabban használják őket.

Egyszerű gyakorlat

Sablon az egész számhoz:

  • "/*/"

Szintén egy egész szám minta, de elöl egy jel ("+", "-"), és elöl / hátul lehet extra terek:

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

Hasonlóképpen:

  • / \u003d [[S | \\ + | '-] (0,1) * ((.) * / - szám egy ponttal.
  • /[E-mail védett]+ \\. (2.3) / - e-mail felismerési lehetőség.

Saját sablonok alkalmazása a PREG-hez illeszkedése minden, példamutató az interneten, a webhely oldalainak és egyéb források elemzése lehetővé teszi, hogy saját sablonkönyvtárát alkossa.

Beállíthatók az információk keresésére. Különösen az utolsó két mintázat másképp szimulálható. Sok esetben a preferencia lesz a sablon, amely gyorsabb és pontosabban biztosítja a kívánt véletlenséget. Alkalmazás a PHP PREG-nél egyezik mindegyikét, valamint hasonló funkciókat más nyelveken, gyakorlatokat, figyelmet és előzetes ellenőrzést igényel a sablonok helyességének.

Ez a cikk kiválasztja a PHP Regexp példákat. Nagyon jó és hasznos gyűjteménye példák a rendszeres kifejezések (rendszeres kifejezések). A rendszeres kifejezések minden példája elfogadható a PHP-hez. Használja az egészségre!

Példa a tartománynév ellenőrzésére

Ez a PHP-tétel ellenőrzi, hogy egy karakterlánc érvényes domainnév.

?:. *) +):? (D +)? /? / I ", $ URL)) (Echo" Az URL-je rendben van. ";) Más (visszhang" rossz url. ";)

Példa arra, hogy kiemelje a szöveget a szövegben

Nagyon hasznos rendszeres kifejezés, a kívánt szó kereséséhez és megvilágításához a szövegben. Különösen a kód hasznos, a keresési eredmények létrehozásakor.

$ Text \u003d "A Komunitasweb-i minta mondat, a Regex népszerűvé vált a webes programozásban. Most megtanuljuk az Regexet. A Wikipedia szerint a rendszeres kifejezések (rövidítés, Regex, Pal-formák, RegExps vagy Regexen) formális Nyelv, amelyet egy rendszeres kifejezési processzorral lehet értelmezni "; $ Szöveg \u003d preg_replace ("/ b (regex) b / i", " 1", $ szöveg); echo $ szöveg;

Példa a keresési eredmények háttérvilágításának megvalósításáraWordPress.

Nyissa meg a Search.php fájlt, és keresse meg a the_title () funkciót. Cserélje ki a következő karakterláncot:

Echo $ cím;

És most, helyezze be ezt a kódot a helyettesített karakterlánc előtt:

\0", $ cím);?\u003e

Mentse a Search.php fájl és a nyitott stílus. Add hozzá a következő sort:

Erős.Search-excerpt (háttér: sárga;)

Példa a képek megszerzéséreHtml módszer regexp

Ez a PHP kód rendszeres kifejezésekkel, minden képet és URL-címet keres.

$ képek \u003d tömb (); preg_match_all ("/ (img | src) \u003d (" | ") [^" "\u003e] + / i", $ adatok, $ média); ($ Adatok); $ DATA \u003d preg_replace ("/ (img | src) (" | "| \u003d" | \u003d ") (. *) / i", "$ 3", $ média); Foreach ($ adatok, mint $ url) ($ info \u003d pathinfo ($ url); ha (PONTSET ($ INFO ["kiterjesztés"])) (ha ($ info ["kiterjesztés"] \u003d\u003d "jpg") || ($ info ["kiterjesztés"] \u003d\u003d "jpeg") || ($ info ["kiterjesztés"] \u003d\u003d "gif") || ($ info ["kiterjesztés"] \u003d\u003d "png")) Array_Push ($ képek, $ url);)))

Az ismétlődő szavak eltávolítása (a nyilvántartás kivételével)

Gyakran vannak olyan szavak, amelyek megismétlődnek? Ezután a rendszeres kifejezés példája hasznos lesz.

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

Az ismétlődő pontok eltávolítása

Ugyanaz, csak ismétlődő pontokkal.

$ szöveg \u003d preg_replace ("/.+/ i", ".", $ szöveg);

Egyezés XML / HTML címkék

Ez az egyszerű funkció két argumentumot vesz igénybe: címke (megfelel, amit megtalálni szeretne), XMLI HTML kódot.

Funkció get_tag ($ címke, $ xml) ($ TAG \u003d preg_quote ($ címke); preg_match_all ("(<".$tag."[^>]*>(.*?). ")", $ XML, $ mérkőzések, preg_pattern_order); Visszaadja a $ mérkőzést; )

Keresés az XHTML / XML címkéket meghatározott attribútumértékekkel

Ez a példa hasonló az előző funkcióhoz, csak akkor is jelentősen bővítheti a keresést

.

Funkció get_tag ($ attr, $ érték, $ xml, $ címke \u003d null) (ha (IS_NULL ($ TAG)) $ TAG \u003d "\\ W +"; egyébként $ címke \u003d preg_quote ($ címke); $ attrac \u003d preg_quote ( $ AttraT); $ érték \u003d preg_quote ($ érték); $ TAG_REGEX \u003d "/<(".$tag.")[^>] * $ Attrac * \u003d \u003d s * "." (['\\']) $ Érték \\\\ 2 [^\u003e] *\u003e (. *?)<\/\\1>/ "preg_match_all ($ tack_regeex, $ xml, $ matches, preg_pattern_order); $ $ meccs;)

Keressen hex színértékeket

Kiváló példa egy olyan rendszeres kifejezésre, amely a meghatározott vonalakban a hexadecimális színértékek betartását keresi. Mire jó ez? Lehet, hogy CSS-kód tömörítő szolgáltatást szeretne írni, vagy ilyesmi.

$ string \u003d "# 555555"; Ha (preg_match ("/ ^ # (? :(? :( 3)) (1,2)) $ / i", $ hing)) (Echo "Példa 6. Sikeres";)

Keresés példacím egy adott oldalon

Ez az érdekes példa a PHP-kódra a Regexp-vel, és visszaadja a szöveget a címkék között. és.

FEOF ($ FP)) ($ oldal. \u003d Fgets ($ FP, 4096);) $ titre \u003d eregi (" (.*)", $ Oldal, $ regs); echo $ regs; fclose ($ FP);

Loke apache elemzése

A legtöbb webhely a jól ismert Apache szervereken dolgozik. Ha webhelye is működik, akkor a szervernapló elemzést a PHP Regexp segítségével készítheti el.

// rönk: Apache Web Server // Sikeres találatok csak HTML fájlokra. Hasznos az oldalnézetek számának számlálásához. "^ ((? # ügyfél IP vagy domainnév) s +) s + ((? # alap hitelesítés) s + s + s +) s + [((? # dátum és idő) [^]] +)] s + "(?: Get | Post | fej) (((? #File) / [^?"] +? "Html?) ?? ((? # Paraméterek) [^?"] +)? Http / + "s + (? # Állapotkód) 200-as + ((? # Bytes átadott) [- 0-9] +) s +" ((? # Referrer) [^ "] *)" s + "(( ? # Felhasználói ügynök) [^ "] *)" $ "// rönk: Apache webszerver // 404 Csak 404 hibák" ^ ((? # Ügyfél IP vagy domainnév) s +) s +) s S + s + s +) s + [((? # Dátum és idő) [^]] +)] s + "(?: Get | Post | fej) (((? #File) [^?]] + ) ?? ((? # Paraméterek) [^? "] +)? Http / + "s + (? # Státuszkód) 404s + (((? # Bytes átadott) [- 0-9] +) s +" ((? # Referrer) [^ "] *)" s + "( (? # Felhasználói ügynök) [^ "] *)" $ "

Példa a jelszó komplexitásának ellenőrzésére

Kiváló példa a rendszeres kifejezésre, amely ellenőrzi a jelszó összetettségét. A jelszónak 6 karakterből kell állnia, legalább egy címet tartalmaz: egy cím szimbólum, kisbetű, egy számjegy.

"A (? \u003d [-_ -_-ZA-Z0-9] *?) *?) (? \u003d [-_-A-ZA-Z0-9] *?) *?) (? \u003d [-_-A-ZA-Z0-9] *?) [-_A-ZA-Z0-9] (6,) z "

Szöveg hangulatjelek cseréje a grafikus hangulatjelekre

Ez a kód példa megváltoztatja a Szöveg hangulatjelét, a grafikát. Érdekes és hasznos PHP-részlet.

$ texe \u003d "egy szöveges szöveg :-)"; Echo str_replace (":-)", " ", $ texe);

Egy példa a rendszeres kifejezésre, hogy képeket szerezzenhTML kód

Érdemes azt mondani, hogy ezt a PHP kódot a WordPress, a keresési és feldolgozási kép.

post_content; $ szsearchpattern \u003d "~ ] * /\u003e ~ "; COUNT ($ APICS); ha ($ inbumberofpics\u003e 0) (// itt kezelheti a képeket // ebben a példában, egyszerűen megjelenik a ($ i \u003d 0; $) én< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>

Remélem hasznos volt a PHP Regexp példák kiválasztásához. Ha érdekes kiegészítések vagy példák vannak a rendszeres kifejezésekről (PHP), írj a megjegyzésekben.

(PHP 4, PHP 5, PHP 7)

preg_replace - A rendszeres kifejezés keresése és cseréje

Paraméterek listája

A kívánt minta. Ez lehet egy karakterlánc és vonalak tömb.

Szintén kapható néhány PCRE módosító, beleértve az elavult " e."(Preg_replace_eval), csak a funkcióra specifikus.

Csere

Sor vagy sor sorok cseréje. Ha ez a paraméter egy karakterlánc, és a minta egy tömb, az összes sablon lesz a karakterlánc. Ha a minta és a csere tömbök, minden egyes mintázat helyettesíti a megfelelő elemet a csere. Ha a csere tömb kevesebb elemet tartalmaz, mint a minta tömb, akkor a minta összes extra sablonja üres karakterláncokkal helyettesíthető.

a csere tartalmazhat hivatkozásokat N.vagy (a PHP 4.0.4-el) $ n., és az utolsó lehetőség előnyösebb. Minden ilyen link helyettesíti az N-podmacknak \u200b\u200bmegfelelő aljzat. n 0 és 99 közötti értékeket vehet igénybe \\0 (vagy $0 ) Megfelel a teljes sablonba való belépésnek. A Podmas maszkok balról jobbra számozva, egy egységgel kezdődően. A fordított löket használatához meg kell ismételni (PHP karakterlánc "\\\\" ).

Amikor a sablont a Podmascusra való hivatkozásokkal helyettesíti, akkor a maszk közvetlenül mögött egy helyzet lehet, hogy számjegy (például a számok azonnali beállítása az egybeesett maszk után). Ebben az esetben lehetetlen a típus ismerős jelölését használni \\1 Reformokra hivatkozva. Felvétel, például, \\11 , zavarba hoz preg_replace () Mivel nem fogja megérteni, hogy szeretné-e használni a linket \\1 ezt követi egy számjegy 1 Vagy csak a linket szeretné használni \\11 Mögöttük semmi sem lenne. Ez a félreértés megszüntethető, ha a designt használja. \${1}1 Egy elszigetelt link használatával $1 , és a mellette lévő szám 1 .

Elavult módosító használata esetén e. Ez a funkció néhány karaktert tartalmaz (nevezetesen) " , " , \ és null) a hátsó linkek helyettesítése. Ez történik, hogy igazolja a szintaxis helyességét, amikor az egy vagy kettős idézőjelek backlinks használatával (például, "Strlen (\\" $ 1 \\ ") + Strlen (" $ 2 ")). Győződjön meg róla, hogy a PHP soros feldolgozási szintaxis tulajdonosa annak érdekében, hogy pontosan felismerje, hogy az értelmezett karakterlánc hogyan fog kinézni.

Tantárgy.

Sor vagy sor sorok kereséshez és cseréje.

Ha az alany egy tömb, a csere keresése a szubkektív tömb minden elemére kerül, és a visszatérési érték egy tömb is lesz.

Az egyes sablonok maximális cseréje minden egyes tárgysorhoz. Az alapértelmezett egyenlő -1 (korlátozások nélkül).

Ha megadott, akkor ez a változó tele lesz a cserék számával.

Visszatérési értékek

preg_replace () Visszaadja a tömböt, ha a tárgyparaméter tömb, különben a karakterlánc visszaáll.

Ha a véletlenségek megtalálhatók, a téma új verzióját visszaküldi, különben a témát érintetlenül visszaküldi, Hiba esetén visszatér NULLA.

Hibák

Ha elavult módosító használata "\\ e" rohanási szint hiba E_deprecated..

A változások listája

Példák

Az 1. példa egy derékt használ, majd egy ábra

$ String \u003d "2003. április 15.";
$ Pattern \u003d "/ (\\ w +) (d +), (\\ d +) / i";
$ csere \u003d "$ (1) 1, $ 3";
echo preg_replace ($ pattern, $ csere, $ string);
?>

Példa # 2 A tömbök használata numerikus indexek, mint a funkció preg_replace ()

$ String \u003d. "A gyors barna róka ugrott át a lusta kutyára.";
$ Minták \u003d tömb ();
$ Minták [0] \u003d "/ Quick /";
$ Minták [1] \u003d "/ barna /";
$ Minták [2] \u003d "/ Fox /";
$ csere \u003d tömb ();
$ csere [2] \u003d "Bear";
$ csere [1] \u003d "fekete";
$ cseréje [0] \u003d "lassú";

?>

A példa eredménye:

A medve fekete lassú ugrott a lusta kutyán.

A kulcsok sablonok és cseréjeinek rendezése, a kívánt eredmény elérése:

ksort ($ minták);
ksort ($ helyettesítő);
echo preg_replace ($ minták, $ helyettesítő, $ string);
?>

A példa eredménye:

A lassú fekete medve ugrott át a lusta kutyán.

# 3. példa csere több sablonra

$ Minták \u003d tömb ( "/ (19 | 20) (d (2)) - (\\ d (1,2)) - (\\ d (1,2)) /",
"/ ^ s * ((\\ w +)) * \u003d /");
$ cseréje \u003d tömb ("\\ 3/4/1 \\ 2", "$ \\ 1 \u003d");
echo Preg_Replace ($-minták, $ csere, "(startdate) \u003d 1999-5-27");
?>

A rendszeres kifejezések lehetővé teszik, hogy megtalálja a sablonnak megfelelő szekvencia karakterláncban. Például a sablon „Vasya (. *) Pupkin” lehetővé teszi, hogy megtalálja a sorozatot, amikor a szavak között Vasya és Pupkin lesz akárhány karaktert sem. Ha hat számjegyet kell találnod, akkor írunk "(6)" (ha például hat-nyolc számjegy, akkor "(6.8)"). Itt vannak osztva olyan dolgok, mint egy szimbólumkészlet mutató és a szükséges mennyiség mutatója:

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

A karakterkészlet helyett bármely karakter kijelölése - egy pont használható, egy adott karakterkészlet adható meg (a szekvenciák támogatottak - a "0-9"). Ez jelezhető "kivéve ezt a karakterkészletet".

A hivatalos PHP dokumentációban szereplő karakterek számát "Quantifier" -nek nevezik. A kifejezés kényelmes, és nem hordoz curvitorokat. Tehát a kvantifiónak van egy adott értéke - vagy egy rögzített ("(6)"), vagy numerikus intervallumként ("(6,8)") és absztrakt "bármilyen szám, 0" ("*") ), "Bármely természetes szám" - 1-től az Infinityig ("+": "Dokumentum + .txt"), "0, vagy 1" ("?"). Alapértelmezés szerint a karakterkészlet kvantívuma egyenlő az egyik ("document.txt").

A kombinációk rugalmasabb kereséséhez ezek a kötegek "szimbólumok - egy kvantív" kombinálhatók a metastruktúrákba.

Rugalmas eszközként a rendszeres kifejezések hajlítás, de nem feltétlenül: az alkalmazásuk zóna korlátozott. Például, ha egy rögzített sorot kell cserélni egy másikra, ismét rögzítve, használja a Str_Replace-t. PHP fejlesztők könnyezve beckled nem használja a kedvéért ezt az összetett funkciók ereg_replace vagy preg_replace, mert ha hívják őket, értelmezése a húr történik, és ez fogyaszt a rendszer erőforrásait. Sajnos ez az Ön kedvenc rake a kezdő PHP programozók.

Csak akkor használjon rendszeres kifejezéseket, ha nem tudja pontosan, hogy mi a "ott" sor. A példákból: olyan keresési kód, amelyben a szolgáltatási karakterek és a rövid szavak vágják a keresési karakterláncot, valamint a felesleges tereket (vagy inkább az összes szóköz tömörítették: "+" helyett egy helyet. Ezen funkciók segítségével ellenőrizem az e-mail felhasználót, aki elhagyja a visszajelzést. Sok hasznos lehet, de fontos, hogy szem előtt tartsuk: a rendszeres kifejezések nem mindenható. Például a nagy szöveg komplex cseréje jobb, ha nem. Végül is például egy kombináció "(. *)" A programtervben az összes szöveg szimbólum mellszobra. És ha a sablon nem kötődik a vonal kezdetéhez vagy végéhez, akkor a program "mozog" a teljes szövegen keresztül, és kiderül, hogy kettős brutális erő, vagy meglehetősen brutális erő a téren. Nem nehéz kitalálni, hogy egy másik kombinációt "(. *)" A kubai mellszobor, és így tovább. Vegyük a harmadik fokozatot, mondjuk, 5 kilobyte szöveget. Kiderül 125.000.000.000 (szavakkal: száz huszonöt milliárd művelet). Természetesen, ha szigorúan közeledsz, akkor sok művelet lesz, és négy-nyolcszor kevesebb lesz, de a számok sorrendje fontos.

Karakterkészlet

. pontbármilyen szimbólum
[<символы>] szögletes zárójelekkarakterosztály ("bármelyik"). például
[^<символы>] negatív szimbólumosztály ("Bárki, kivéve")
- gondolatjela karaktersorozat sorrendje ("" - számok)
D. Csak számok
D.[^0-9] A számok mellett
W. Betűk és számok
W.[^ a-z0-9]Kivéve a betűket és számokat
S. Blind szimbólumok: hely, fül, sorátadás
S.[^ ] A globuláris szimbólumok mellett
| (egy | másik)Ebben a helyen lehet az egyik felsorolt \u200b\u200bopció, például: (Vasya | Peter | Masha). Ha nem akarja, hogy bejusson a mintába, használja (?: ...)

Ne használja a szimbólumosztályt, hogy csak egy (a "+" helyett teljesen megjelenik "+"). Ne írjon egy pontot a szimbólumosztályba - ez bármilyen karakter, akkor az osztály más karakterei egyszerűen feleslegesek lesznek (és a negatív osztályban megtagadják az összes karaktert).

Számszerűsítő

A mennyiséget meghatározott értékként és korlátként lehet megadni. Ha a megadott leeső esik a mennyiségi alá esik, akkor a kifejezés fragmensét egybeesik a törött karakterlánchoz. Szintaxis:

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

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

Ha csak a szükséges minimumot kell megadnia, de nem maximum, egyszerűen elkészítjük a vesszőt, és nem írjuk a második számot: "(5,)" ("minimum 5"). A leggyakrabban használt mennyiségek esetében különleges megnevezések vannak:

A gyakorlatban az ilyen karaktereket gyakrabban használják, mint a göndör zárójelek.

Horgony

Ezeknek a karaktereknek ennek megfelelően kell állniuk, és a vonal végéig.

Kapzsiság

A kérdőjel mennyiségi minimátorként is megjelenik:
.*?

$1"$ Re1 \u003d" | \\ (. *) \\ | Ixs "; $ Re2 \u003d" | \\ (. *?) \\ | Ixs ", $ eredmény \u003d preg_replace ($ re1, $ to, $ st); Greedy verzió: ".htmlspecialchars ($ eredmény, ," Windows-1251 ")."
"$ eredmény \u003d preg_replace ($ Re2, $ to, $ str); echo" lusta változat: ".htmlspecialchars ($ eredmény, ," Windows-1251 ").
";?\u003e A példa eredménye: kapzsi változat: zsírszöveg [b] és itt - még több zsírt visszatért Lazy változat: kövér szöveg [b] és itt - még nagyobb Visszatért

A sablon sztringje, ahogy észrevette, elkezdi és véget ér a slashekkel. A második után a paramétereket követik:

ÉN.regisztrációfüggő keresés
m.

többvonalas üzemmód. Alapértelmezés szerint a PCRE egybeeső egybeeséseket keres egy sablonnal csak ugyanazon a sorban, és a "^" és a "$" karakterek csak a szöveg elejével és végével egybeesnek. Ha ez a paraméter be van állítva, a "^" és a "$" egybeesik az egyes vonalak kezdetével és végével.

s.szimbólum "." (Pont) egybeesik a vonalátvitel (alapértelmezett - nem)
A.a szöveg elejére való kötés
E.a "$" szimbólumot csak a szöveg végével okozza. Figyelmen kívül hagyja, ha a Paramert M telepítve van.
U.Inverting "kapzsiság" minden egyes mennyiségi (ha egy kvantifier költsége után "?", Ez a mennyiségi megszűnik "mohó").
e.A csere-karakterláncot PHP-kódként értelmezik.

Rendszeres kifejezésekkel való munkavégzés

  • preg_grep
  • preg_match - rendszeres kifejezést végez. Ez a funkció csak az első véletlenséget keresi!
  • preg_match_all.
  • pREG_QUOTE - A karakterek a rendszeres kifejezésekben. Azok. Beilleszti a slash minden szolgáltatási szimbólumba (például zárójeleket, szögletes zárójeleket stb.), Hogy azok szó szerint érzékelik. Ha bármilyen felhasználói információ bevitele van, és rendszeres kifejezésekkel ellenőrizheti, akkor jobb, ha a továbbított változó szolgáltatási karaktereket mutat be
  • preg_replace
  • preg_replace_callback - Rendszeres kifejezés és csere segítségével keres egy keresést
  • preg_split.

preg_grep

Funkció preg_grep - Visszatér a sablonnak megfelelő előfordulási tömböt

Szintaxis

sor. preg_grep (String Pattern, Array bemenet [, INT Zászlók])

a PREG_GREP () egy olyan tömböt tartalmaz, amely egy bejövő bemeneti tömbelemből áll, amely megfelel a megadott minta minta.

A zászlók paramétere a következő értékeket veheti igénybe:

Preg_grep_invert.
Ha ez a flag be van állítva, a preg_grep () függvény visszaadja a tömb elemeit, amelyek nem felelnek meg a megadott minta sablon.
A PREG_GREP () funkció által visszaadott eredmény ugyanazokat az indexeket használja, mint a forrásadatok tömbje. Ha ez a viselkedés nem megfelelő, alkalmazza az Array_Values \u200b\u200b() a Preg_grep () reindexingre visszatért tömböt.
Minta kód:

// visszaadja a tömb összes elemét, // a lebegőpontos számokat $ fl_array \u003d preg_grep ("/ ^ (d +)? \\. \\ D + $ /", $ tömb);

preg_match

Funkció preg_match - Rendszeres kifejezés ellenőrzése

Szintaxis

int. preg_match (Stringminta, sztring tárgy [, tömb mérkőzések [, int flags [, int offset]]]) A megadott szöveges tárgyban a minta sablon

Abban az esetben, ha a kiegészítő mérkőzések paraméterének megadása, akkor a keresési eredmények tele van. A $ matches elem tartalmazza az egész sablon eseményének megfelelő vonal egy részét, a $-mérkőzések - az első tengeralattjárónak megfelelő karakterlánc része, és így tovább.

a zászlók a következő értékeket vehetik igénybe:

Preg_offset_capture.

A keresést balról jobbra, a vonal elejétől kezdve. Az opcionális offset paraméter használható a keresés alternatív kiindulási helyzetének jelzésére. Hasonló eredmény érhető el a Substr () ($ Tárgy, $ offset) helyett.

A preg_match () függvény visszaadja a megfelelőség számát. Ez lehet 0 (nincs egybeesett egybeesés) és 1, mivel a preg_match () megállítja munkáját az első megállapított véletlen egybeesés után. Ha meg kell találnia vagy számolni az összes véletlenséget, használd a preg_match_all () funkciót. A PREG_MATCCCATH () funkció hamis, ha bármilyen hiba történt a végrehajtás során.

Javaslat: Ne használja a PREGG_Match () funkciót, ha ellenőriznie kell egy adott sorban lévő aljzat jelenlétét. Használja ezt a strppos () vagy strstr (), amint ezt a feladatot sokkal gyorsabban teljesítik.

Mintacsám

Mintacsám

Mintacsám

A példa eredménye:

domain név: webhely

preg_match_all.

Funkció preg_match_all. - globális sablonkeresést végez a karakterláncban

Szintaxis

int. preg_match_all. (String Pattern, String Tárgy, Array Matches [, InT Zászlók [, Int Offset]])

Keresi az összes egybeesést a Tárgyszalag minta sablonjával, és az eredményeket a mérkőzések tömbjébe helyezi a zászlók zászlók kombinációja által meghatározott sorrendben.

Az első megfelelés keresése után a következő kereséseket nem a vonal elejétől fogják végezni, hanem az utolsó megállapított bejegyzés végétől.

További zászlók paraméter kombinálhatják a következő értékeket (meg kell érteni, hogy a preg_pattern_order használata egyidejűleg a preg_set_order értelmetlenül):

Preg_pattern_order.
Ha ez a zászló telepítve van, az eredmény a következőképpen kerül megrendezésre: A $-mérkőzések eleme a sablon teljes bejegyzéseinek tömbjét tartalmazza, a $ Matches elem tartalmaz egy tömböt az első Podmascusba, és így tovább.

Mintacsám

]+>(.*)] +\u003e | U "", " példa:
ez egy teszt
", $ ki, preg_pattern_order); echo $ ki." "," $ ki. ",", echo $ ki. "", ". $ ki.";?\u003e A példa eredménye: példa:,
ez egy teszt
Példa :, ez egy teszt

Amint azt látjuk, a $ ki a sablon teljes bejegyzéseinek tömbjét tartalmazza, és a $ kimeneti elem a címkékben található szubsztrálás tömbjét tartalmazza.

Preg_set_order
Ha ez a zászló telepítve van, az eredmény a következőképpen kerül megrendezésre: A $ mérkőzés elem tartalmazza az első előfordulási sorozatot, a $-mérkőzések eleme egy második előfordulási készletet tartalmaz, és így tovább.

Mintacsám

]+>(.*)] +\u003e | U "", " példa:
ez egy teszt
", $ Ki, preg_set_order); visszhang $ ki." ",". $ Ki. ","; Echo $ ki. "", "$ Ki.";?\u003e A példa példája eredménye: példa:, Példa:
ez egy teszt
, ez egy teszt

Ebben az esetben a $-mérkőzések tömbje tartalmazza az első előfordulási sorozatot, nevezetesen: A $ mérkőzés elem tartalmazza az első sablon első bejegyzését, a $ mérkőzések eleme tartalmazza az első aljzat első bejegyzését, és így tovább. Hasonlóképpen, a $-mérkőzések tömbje egy második előfordulási készletet tartalmaz, és így minden egyes tárcsa esetében.

Preg_offset_capture.
Ha ezt a jelzőt megadják, a forrásvonalban szereplő pozíciója minden megállapításra kerül. Nem szabad elfelejteni, hogy ez a zászló megváltoztatja a méret a visszatérő adatok: minden bejegyzés visszatér, mint egy tömb, a nulla eleme, amely a részsztring talált talált, és az első - eltolás.

Abban az esetben, ha nincs zászló, az alapértelmezett preg_pattern_order.

A keresést balról jobbra, a vonal elejétől kezdve. Az opcionális offset paraméter használható a keresés alternatív kiindulási helyzetének jelzésére. Hasonló eredmény érhető el a Substr () ($ Tárgy, $ offset) helyett.

Visszaadja a sablon által megtartott bejegyzések számát (lehet, hogy nulla) vagy hamis, ha a végrehajtás során hibák történtek.

Mintacsám

Mintacsám

félkövér szöveg.kattints ide."; preg_match_all (" / (<([\w]+)[^>]*>)(.*)(<\/\\2>) / ", $ HTML, $ mérkőzések); mert ($ 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"; } ?> A példa eredménye: illesztve: félkövér szöveg. 1. rész: 2. rész: Bold szöveg 3. rész: Megfelelő: kattints ide. 1. rész: 2. rész: Kattintson a 3. rész:

preg_quote

Funkció preg_quote - Szimbólumok a rendszeres kifejezésekben

Szintaxis

húr preg_quote (String Str [, String Delimiter]))

A preg_quote () funkció veszi a húr STR és hozzáadja az ellenkező laikus előtt minden szolgáltatás jellegét. Ez akkor hasznos, ha a karakterláncváltozók részt vesznek a sablon kialakításában, amelynek értéke a szkript művelet során változhat.

Abban az esetben, ha a kiegészítő határoló paraméter van megadva, akkor is árnyékolódik. Ez kényelmes a korlátozó árnyékolására, amelyet PCRE funkciókban használnak. A leggyakoribb limiter a "/" szimbólum.

Rendszeres kifejezésekben a következő szimbólumokat szolgálják meg :. \\\\ + *? [^] $ () () \u003d!< > | :

Mintacsám

Mintacsám

"$ Word".", $ szöveg); echo $ textybody;?\u003e A példa eredménye: ez a könyv * Nagyon * Nehéz megtalálni.

preg_replace

Funkció preg_replace - Keressen és cserélje ki a rendszeres kifejezést

Szintaxis

vegyes. preg_replace (Vegyes mintázat, vegyes csere, vegyes alany [, int Limit])

Keresések a mérkőzések témakörében a minta sablonával, és helyettesítik őket cserére. Abban az esetben, ha a határparaméter meg van adva, a sablonbevitel határértékének kijavítása lesz; Ha a határértéket -1-vel egyenlővé tesszük, a sablon minden bejegyzését kicseréljük.

A csere tartalmazhat a Típus \\\\ N vagy (a PHP 4.0.4) $ N típusú referenciáit, és az utolsó opció előnyösebb. Mindegyik ilyen hivatkozás helyettesíti a kerek zárójelben lévő n "szubsztruktusnak megfelelő szubsztrálását. N 0-tól 99-ig tarthat értékeket, és a \\\\ 0 (vagy 0 $) hivatkozás megfelel a teljes sablon bejegyzéséhez. Podmas A maszkokat balról jobbra számozzák, kezdve az egyikből.

Ha a sablon helyettesítése a beadványokhoz való hivatkozásokat használva, akkor a helyzet akkor fordulhat elő, ha a számot közvetlenül a maszkra követték. Ebben az esetben a formanyomtatvány jelölése hibára vezet: az első tengeralattjáróra való hivatkozás, amelyet az 1. szám követ, akkor a tizenegyedik tengeralattjáróra hivatkozva értelmezhető. Ez a félreértés kiküszöbölhető, ha a \\ $ (1) 1 designját használja, jelezve az első tengeralattjárót, és az 1. szám következik.

Mintacsám

Ennek a példának eredménye:

Ha során a függvény végrehajtása, véletlenek a sablont mutattunk, a módosított SUBCECT értéket ad vissza, egyébként a forrás szöveg Tárgy kerül vissza.

A preg_replace () funkció első három paramétere lehet egydimenziós tömbök. Amennyiben a tömb használja a kulcsokat feldolgozása során a tömb, akkor azokat a sorrendben, amelyben található a tömbben. A gombok meghatározása egy tömbben a minta és a csere nem szükséges. Ha továbbra is úgy döntött, hogy az indexeket használja, hogy megfeleljen a cseréjes sablonok és sorokhoz, használd a ksort () funkciót mindegyik tömbökhez.

A medve fekete lassú ugrott a lusta kutyán.

A KSORT () használatával megkapjuk a kívánt eredményt:

A lassú fekete medve ugrott át a lusta kutyán.

Ha a tárgyparaméter tömb, a sablon keresésére és cseréje mindegyik elemére készül. A visszatérési eredmény is tömb.

Abban az esetben, minta és cseréje paraméterek tömbök, preg_replace () felváltva kivonatok mindkét tömböket elem-pár, és ezeket használja a keresési és csere művelet. Ha a csere tömb több elemet tartalmaz, mint a minta, az üres vonalakat a hiányzó elemek helyett cserélik. Abban az esetben, ha a minta egy tömb, és a csere egy karakterlánc, a minta tömb minden eleméhez, a minta keresése és cseréje megvalósul (a tömb összes eleme váltakozva lesz, míg a cserevezeték továbbra is rögzített ). Az opció, amikor a minta egy karakterlánc, és a csere egy tömb, nincs értelme.

A / E módosító megváltoztatja a PREG_REACHEPLE () függvény viselkedését, oly módon, hogy a helyettesítési paramétert a szükséges szubsztitúciók elvégzését követően PHP-kódként értelmezzék, és csak a helyettesítésére használják. Ezzel a módosítóval kell használni, legyen óvatos: A csere paraméternek tartalmaznia kell a helyes PHP-kódot, különben a PREX_REACEPLEAD () funkció paramétereit tartalmazó karakterláncban, a szintaxis hiba lép fel.

Minta kód: Több sablon cseréje

Ez a példa kimutatja:

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

Minta kód: A módosító / e használatával

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

Minta kód: Átalakítja az összes HTML-címkét a felső regiszterhez

]*?>.*?"Si", // vágja a JavaScriptet ""<[\/\!]*?[^<>] *?\u003e "SI", // HTML-címkék "" ([\\ r \\ n] [s] + "", // vágja a "" és (quot | # 34) helyet; "i" , // helyettesíti a HTML entitásokat "" és (amp | # 38); "I", "" "# 60);" I "," "és (gt | # 62);" I "," " Nbsp | # 160); "Én", "" és (IEXCL | # 161); "Én", "" és cent | # 162); "én", "# 163. \\ t "," "És (másolás | 169);" I "," "(d +);" E "); // értelmezi a PHP-kódot $ helyettesítő \u003d tömb ("", "", "\\\\ 1", "\\" "," és ""<", ">"", "", CHR (161), CHR (162), CHR (163), CHR (169), "CHR (\\\\ 1)"); $ szöveg \u003d preg_replace ($ keresés, $ csere, $ Dokumentum); ?\u003e

preg_replace_callback

Funkció preg_replace_callback - Rendszeres kifejezést és cserét keres a visszahívási funkcióval

Szintaxis

vegyes. preg_replace_callback (Vegyes mintázat, visszahívás visszahívás, vegyes tárgy [, int Limit])

A funkció viselkedését nagyrészt a PREG_REAPEPLE (), kivéve, hogy a helyettesítő paraméter helyett meg kell adnia egy visszahívási funkciót, hogy a talált bejegyzések tömbjét bejövő paraméterként továbbítják. A várt eredmény egy olyan karakterlánc, amelyet cserélnek.

Mintacsám

s * w | ", create_function (// egyetlen idézőjelek használata ebben az esetben, alapvetően, // alternatíva - az összes karakter" $ "$-mérkőzések", "RETURN STRTOLOWER ($ mérkőzések);"), $ sor); Echo $ sor;) fclose ($ FP);?\u003e

preg_split.

Funkció preg_split. - Rendszeres kifejezéssel megszakítja a karakterláncot

Szintaxis

sor. preg_split. (String minta, string téma [, Int Limit [, Int zászlók]])

Visszaadja a megadott tárgylánc aljzatából álló tömböt, amelyet a minta sablonnak megfelelő határok osztanak meg.

Ha a határérték paramétere megadódik, a függvény nem ad vissza, mint a LIMIT ALLTRING. A speciális határérték -1, amely egyenlő a korlátozás hiánya miatt, nagyon hasznos egy másik opcionális zászló paraméter meghatározásához.

A zászlók a következő zászlók tetszőleges kombinációja lehetnek (a kapcsolat a "|" operátorral történik):

Preg_split_no_empty
Abban az esetben, ha ez a zászló van megadva, a preg_split () függvény visszatérési csak a nem üres karaktersorozat.

Preg_split_delim_capture.
Abban az esetben, ha ez a jelző megadva, az expressziós zárójelbe a választótölcsérben minta is eltávolítjuk a megadott sor- és visszatér a funkció. Ezt a zászlót hozzáadták a PHP 4.0.5.

Preg_split_offset_capture.
Ha ezt a jelzőt megadja, az eredeti vonalon lévő pozíciója minden egyes alapanyaghoz van megadva. Nem szabad elfelejteni, hogy ez a zászló megváltoztatja a méret a visszatérő adatok: minden bejegyzés visszatér, mint egy tömb, a nulla eleme, amely a részsztring talált talált, és az első - eltolás.

Példák a kódra

Abban az esetben, ha a nyitó kerek tartó után követi ?: "A húr rögzítési nem fordul elő, és a jelenlegi géppisztoly nem számozott. Például, ha a" The White Queen „sorban van leképezve (((?: Red | White) sablon (King | Queen)), majd a "White Queen" és a "Queen" -t rögzítve, és az 1-es és 2-es számok:

$ r \u003d "/ A ((?: piros | fehér) (király | Queen)) /"; 0 \u003d "a fehér király"; 1 \u003d "fehér király"; 2 \u003d "király";

További információ a rendszeres kifejezésekről:


Rendszeres kifejezések Ellenőrizze a szolgáltatásokat:


Bővebben: Könyvtár Becsavar PHP-ben.
.

A rendszeres kifejezések nagyon hasznos eszköz a fejlesztők számára. Segítségük segítségével megtalálhatja, azonosíthatja vagy cserélheti ki a szöveget, a szavakat vagy más karaktereket. A mai cikkben a 15 legkedvezőbb rendszeres kifejezést összegyűjtik, amely bármely webfejlesztőt használ.

Bevezetés a rendszeres kifejezésekhez

Számos kezdő fejlesztőnek tűnik rendszeres kifejezések nagyon összetettek a megértéshez és használathoz. Tény, hogy minden nem olyan nehéz, mint amilyennek tűnhet. Mielőtt közvetlenül folytatnánk rendszeres kifejezéseket, hasznos és sokoldalú kóddal, vessünk egy pillantást a bázisra:

A rendszeres kifejezések szintaxisai

Reguláris kifejezés Eszközök
foo. Sor "foo"
^ foo A karakterlánc "foo" -val kezdődik
foo $. A karakterlánc véget ér a "foo" -on
^ Foo $. A "foo" csak egyszer fordul elő a sorban
a, B, vagy C
a kisbetűs karakterek
[^ A-z] minden olyan karakter, amely nem a nagybetűs
(GIF | JPG) Azt jelenti, hogy "gif" és "jpeg"
+ Az alsó nyilvántartás egy vagy több szimbóluma
Bármely számjegy, pont vagy mínusz jel
^{1,}$ Bármely szó, legalább egy betű, szám vagy _
()() wy, WZ, XY vagy XZ
(^ A-za-z0-9) Bármely szimbólum (nincs szám és nem levél)
({3}|{4}) Három betű vagy 4 szám

PHP funkciók a rendszeres kifejezésekhez

Funkció Leírás
preg_match () A PREG_MATCCATCH () funkció egy sorozatot keres a megadott sablon mentén, akkor igaz, ha a karakterlánc hamis, más esetekben
preg_match_all () A PREG_MATCATCH_ALL () funkció megtalálja a sablon által megadott karakterlánc összes bejegyzését
preg_replace () A preg_replace () függvény érvényes, ugyanaz az elv, mint a ereg_replace (), kivéve, hogy a reguláris kifejezések egyaránt használható adja meg a keresési sablon és egy string helyébe a talált érték.
preg_split () A PREG_SPLIT () függvény, valamint a megosztott (), azzal a különbséggel, hogy a rendszeres kifejezés a keresési sablon paraméterként használható.
preg_grep () A PREG_GREP () funkció a bemeneti tömb összes elemét keresi, és visszaküldi az összes olyan elemet, amely megfelel a rendszeres kifejezésmintának.
preg_quote () Rendszeres kifejezés karakterek

Domain név ellenőrzése

Ellenőrizze, hogy a karakterlánc a megfelelő tartománynév

$ url \u003d "http://komunitasweb.com/"; if (preg_match ( "/ ^ http | httpps | ftp)): // (* (? :: *) +) :():)? /? / i", $ url)) (echo „az URL-ok . ";) Más (visszhang" rossz url ";)

Kiemelje a szöveget a szövegben

Ez egy nagyon hasznos rendszeres kifejezés, vele megtalálja a megfelelő szót, és kiemelje. Különösen hasznos a keresési eredmények megjelenítéséhez.

$ Text \u003d "A Komunitasweb-i minta mondat, a Regex népszerűvé vált a webes programozásban. Most megtanuljuk az Regexet. A Wikipedia szerint a rendszeres kifejezések (rövidítés, Regex, Pal-formák, RegExps vagy Regexen) formális Nyelv, amelyet egy rendszeres kifejezési processzorral lehet értelmezni "; $ Szöveg \u003d preg_replace ("/ b (regex) b / i", " 1", $ szöveg); echo $ szöveg;

Háttérvilágítás keresési eredmények a Wordpress blog

Amint azt az előző példában már említettük, a kód e példája kényelmes a keresési eredmények kibocsátásában, és nagyszerű módja annak, hogy ezt a funkciót a WordPress blogban hajtsa végre.

Nyissa meg a Search.php fájlt, és keresse meg a the_title () funkciót. Cserélje ki a következő kóddal:

Echo $ cím;

Most, ezen a sorban, adja hozzá ezt a kódot:

\0", $ cím);?\u003e

Mentse el a Search.php fájlt és a nyitott stílusokat. Adja hozzá a következő karakterláncot:

Erős.Search-excerpt (háttér: sárga;)

Minden kép megszerzése a HTML dokumentumból

Ha valaha is volt szüksége, hogy az összes képet egy weboldalról kapja meg, akkor ez a kód könnyen képesnek kell lennie arra, hogy készítsen képrakodót a Curl képességek használatával

$ képek \u003d tömb (); preg_match_all ("/ (img | src) \u003d (" | \\ ") [^" \\ "\u003e] + / i", $ adatok, $ média); ($ Adatok); $ data \u003d preg_replace ("/ (img | src) (" | \\ "| \u003d" | \u003d \\ ") (. *) / i", "$ 3", $ média); Foreach ($ adatok, mint $ url) ($ info \u003d pathinfo ($ url); ha (PONTSET ($ INFO ["kiterjesztés"])) (ha ($ info ["kiterjesztés"] \u003d\u003d "jpg") || ($ info ["kiterjesztés"] \u003d\u003d "jpeg") || ($ info ["kiterjesztés"] \u003d\u003d "gif") || ($ info ["kiterjesztés"] \u003d\u003d "png")) Array_Push ($ képek, $ url);)))

Az ismétlődő szavak eltávolítása (nem érzékeny a regiszterre)

A nyomtatás során a szavakat gyakran megismételjük? Ez segít ez a rendszeres kifejezés.

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

Az ismétlődő írásjelek eltávolítása

Ugyanaz, csak az írásjelekre. Lőj fel kettős vesszőkkel.

$ szöveg \u003d preg_replace ("/.+/ i", ".", $ szöveg);

Keresés XML / HTML Címkék

Ez az egyszerű funkció két argumentumot vesz igénybe. Az első olyan címke, amelyet meg kell találnia, és a második egy olyan változó, amely XML vagy HTML-t tartalmaz. Ismétlem, ez a funkció nagyon kényelmes a Curl használatához.

Funkció get_tag ($ címke, $ xml) ($ TAG \u003d preg_quote ($ címke); preg_match_all ("(<".$tag."[^>]*>(.*?). ")", $ XML, $ mérkőzések, preg_pattern_order); Visszaadja a $ mérkőzést; )

Keressen XTML / XML címkéket egy adott attribútumértékkel

Ez a funkció nagyon hasonlít az előzőhöz, kivéve, hogy megkérdezheti a kívánt attribútumot. Például könnyen megtalálhatja

.

Funkció get_tag ($ attr, $ érték, $ xml, $ címke \u003d null) (ha (IS_NULL ($ TAG)) $ TAG \u003d "\\ W +"; egyébként $ címke \u003d preg_quote ($ címke); $ attrac \u003d preg_quote ( $ AttraT); $ érték \u003d preg_quote ($ érték); $ TAG_REGEX \u003d "/<(".$tag.")[^>] * $ Attrac * \u003d \u003d s * "." (['\\']) $ Érték \\\\ 2 [^\u003e] *\u003e (. *?)<\/\\1>/ "preg_match_all ($ tack_regeex, $ xml, $ matches, preg_pattern_order); $ $ meccs;)

Keressen hexadecimális virágértékeket

Egy másik hasznos eszköz a webfejlesztő számára! Lehetővé teszi a hexadecimális színérték megtalálását / ellenőrzését.

$ string \u003d "# 555555"; Ha (preg_match ("/ ^ # (? :(? :( 3)) (1,2)) $ / i", $ hing)) (Echo "Példa 6. Sikeres";)

Keresés Cím cikkek

Ez a kódrészlet megtalálja és megjeleníti a címkék szövegét. , a HTML oldalon.

$ FP \u003d Fopen ("http://www.catswhocode.com/blog", "R"); Míg (! Feof ($ FP)) ($ oldal. \u003d Fgets ($ FP, 4096);) $ Titre \u003d Eregi (" (.*)", $ Oldal, $ regs); echo $ regs; fclose ($ FP);

Apache naplók elemzése

A legtöbb webhely a jól ismert Apache webszerveren fut. Ha webhelye köztük van, miért ne használja a PHP-t és a rendszeres kifejezéseket az Apacha naplóinak elutasításához?

// rönk: Apache Web Server // Sikeres találatok csak HTML fájlokra. Hasznos az oldalnézetek számának számlálásához. "^ ((? # ügyfél IP vagy domainnév) s +) s + ((? # alap hitelesítés) s + s + s +) s + [((? # dátum és idő) [^]] +)] s + "(?: Get | Post | fej) (((? #File) / [^?"] +? "Html?) ?? ((? # Paraméterek) [^?"] +)? Http / + "s + (? # Állapotkód) 200-as + ((? # Bytes átadott) [- 0-9] +) s +" ((? # Referrer) [^ "] *)" s + "(( ? # Felhasználói ügynök) [^ "] *)" $ "// rönk: Apache webszerver // 404 Csak 404 hibák" ^ ((? # Ügyfél IP vagy domainnév) s +) s +) s S + s + s +) s + [((? # Dátum és idő) [^]] +)] s + "(?: Get | Post | fej) (((? #File) [^?]] + ) ?? ((? # Paraméterek) [^? "] +)? Http / + "s + (? # Státuszkód) 404s + (((? # Bytes átadott) [- 0-9] +) s +" ((? # Referrer) [^ "] *)" s + "( (? # Felhasználói ügynök) [^ "] *)" $ "

A kettős idézetek "SMART" idézetek cseréje

Ha Ön egy tipográfiai amatőr, akkor élvezheti ezt a rendszeres kifejezést, amely a szokásos kettős idézeteket helyettesíti, az intelligens idézetekről. Hasonló rendszeres kifejezést használ a WordPress-ben az oldal tartalmában.

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

Átfogó jelszó ellenőrzése

Ez a rendszeres kifejezés biztosítja, hogy legalább hat karakter, szám, kötőjel és aláhúzás kerüljön bevezetésre a szövegmezőbe.

A szövegmezőnek legalább egy felső regiszter szimbólumot kell tartalmaznia, egy alsó regisztert és egy számjegyet.

"A (? \u003d [-_ -_-ZA-Z0-9] *?) *?) (? \u003d [-_-A-ZA-Z0-9] *?) *?) (? \u003d [-_-A-ZA-Z0-9] *?) [-_A-ZA-Z0-9] (6,) z "

WordPress: Rendszeres kifejezéssel, hogy képeket kapjon a rekordból

Mivel sokan közülük Wordpress felhasználók, akkor hasznos lehet a kódhoz, amely lehetővé teszi, hogy minden képet megkapja a cikk szövegéből, és hozza ki őket.

A kód használatához egyszerűen illessze be a téma bármely fájljába.

post_content; $ szsearchpattern \u003d "~ ] * /\u003e ~ "; COUNT ($ APICS); ha ($ inbumberofpics\u003e 0) (// Nower, amit meg kell tennie, amit meg kell tennie a képekhez, csak megjelenik ($ i \u003d 0; $)< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>

Automatikus hangulatjelek létrehozása

A WordPress-ban használt másik funkció lehetővé teszi, hogy automatikusan helyettesítse a Smiley karaktereket a Smiley képen.

$ texe \u003d "egy szöveges szöveg :-)"; Echo str_replace (":-)", " ", $ texe);