Cikkek • regexp convert url link
RegExp: átalakítás az URL link
Valóban, nincs korlátozás a mélysége és szélessége egy egyszerű, első pillantásra, a „válasz” a projekt (azóta elhunyt). Miután elkezdte a játékot a szinten, forgalomba a szokásos html-fájl, kézzel készített a térd - egy adatbázishoz, majd egy teljesen automatizált rendszert a behozatali RSS-en keresztül. Házi Google, típusát.
További vita célja az emberek, akik ismerik legalább általánosságban, a reguláris kifejezések és programozás, a problémákat a webes fejlesztők.
Úgy tűnik, hogy meggyőzze az olvasót, hogy a nyilvánvaló, egyszerű, hasznos és magától értetődő, a dolgok néha nem működik. Ne használja akkor is, ha látszólag kell még dolgozni.
Térjünk bemutatásához a megoldást erre a problémára. Ez egyszerű, mint minden zseni :) Remélhetőleg valaki hasznos lesz, ha nem megy együtt velünk az összes lépést a megoldás, legalábbis, hogy kihasználják a kész eredményt.
Tehát, összegyűjti a szöveget, amely tartalmazni fogja az összes fent vázolt problémák. Az egyetlen korlátozás: string kell kocsivissza- \ n vagy \ r \ n, és
vagy
helyett (szüksége lesz egy nagyon alacsony szövődmény - csináld magad) jelek hüvelyk „” „és aposztróf” „(a speciális karakterek, amelyek befolyásolják a weboldalak biztonságának és át kellene alakítani egy html-egységek tárolási adatbázisban vagy nyomtatás előtt oldal) 1.
Térjünk most megpróbál egy reguláris kifejezés, hogy megbirkózzon az ilyen nehézségeket. De először felsoroljuk ezeket a nehézségeket - írja egy hivatalos nyilatkozatot a probléma.
Csak valami! Talán kezdjük.
A PHP dolgozni reguláris kifejezések alkalmazható, beleértve a funkció preg_replace ($ minta, $ csere, $ text) - ez volt ő, és meg kell oldani a problémát. Kezdjük az első érv - sőt, az nagyon kifejezés.
1. n. 1. a feladat feltételei, a kifejezés kell dolgozni Unicode karaktereket. U-módosító ezt a célt szolgálja (bár oldalakon eltérő UTF-8, akkor éppen ellenkezőleg, a munka leáll -, akkor ez a módosító jobb lenne eltávolítani); Én is nem árt, hogy a kifejezés kis- és nagybetűket. (Megjegyzés: ha x (PCRE_EXTENDED) módosító meg kell előznie a terek egy backslash "\").
Itt is van: / kifejezés / iu. ahol „kifejezést” - a még meg nem született több reguláris kifejezés üres.
Továbbá, lehet bármilyen betűkből, számokból és eltérő karaktereket szóközök vagy a kezdő tag "<», обеспечиваемая с помощью выражения в квадратных скобках [^<\s]+ — знак плюс означает, что повторений таких символов должно быть больше нуля. Итого получаем, суммируя: http:\/\/[^<\s]+
Természetesen ez még nem minden. Ha korlátozzuk kapott - http: \ / \ / [^<\s]+[^<. ;?!”»’“+\-\)] — выражение в первых квадратных скобках захватит и знак препинания в конце, а во вторых скобках — пробел. Надо нам это? Нет, не для этого деды воевали.
Tehát szükség van egy határoló. Ez a korlátozás lesz [. ?! "" ' „+ \ - \)] (?:?
) * \ Bonyolult? Nézzük egy részét. Zárójelben - Az írásjeleket (bővíthető ízlés szerint), amelyek közül az egyik kell megbotlanak, és keresni motornál az előző bekezdésben. (?:
) * Azt mutatja, hogy olykor több találkozót
4. vagy
, vagy nem felel meg. Ezen túlmenően, a tartalmát a zárójelek nem kell helyezni egy „zseb” - egy forma használható erre (?: Alkifejezésre) - erről többet alább. Fontos: -; „?” - „” Miután találkozott (vagy nem teljesülnek a jegyzetet a kérdőjel után a záró szögletes zárójel az úton, ahelyett, ha nem tud egy csillag »*«, ha több karaktert öltött sorban, mint - a szövegek meglehetősen gyakori ) írásjelek és az esetleges sortörések beszél kötelező különbség.
Továbbra is megérteni, hogy mit kell változtatni al. Szappan így néz ki:
$ Csere = '$ 1$ 2 „;
Végül, hogy minden mezőgazdasági PHP függvény, amely együttműködik a reguláris kifejezések:
preg_replace ($ minta, $ csere, $ text);
Nos, vagy ami ugyanaz a dolog, de nehézkesebb:
Sok sikert kívánunk honlapok tervezése!