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."[^>]*>(.*?)".$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.
FEOF ($ FP)) ($ oldal. \u003d Fgets ($ FP, 4096);) $ titre \u003d eregi ("
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
. | pont | bármilyen szimbólum |
[<символы>] | szögletes zárójelek | karakterosztály ("bármelyik"). például |
[^<символы>] | negatív szimbólumosztály ("Bárki, kivéve") | |
- | gondolatjel | a 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:.*?
$str = "[b]жирный текст [b]а тут - еще жирнее вернулись";
$to = "$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: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: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);?\u003eMinta 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); ?\u003epreg_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);?\u003epreg_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."[^>]*>(.*?)".$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.
$ FP \u003d Fopen ("http://www.catswhocode.com/blog", "R"); Míg (! Feof ($ FP)) ($ oldal. \u003d Fgets ($ FP, 4096);) $ Titre \u003d Eregi ("
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);