Autor | Zpráva | ||
---|---|---|---|
xerno Profil |
#1 · Zasláno: 3. 7. 2010, 21:01:29
Zdravím :)
Mám dlouhý řetězec obsahující texty, tagy, javascripty, styly css. No a potřebuju mít nad těmi styly kontrolu, dostat každý obsah tagů <style> do proměnné. Napadlo mě (zjednodušeně): preg_replace('/<style>(.+)<\/style>/', '$1', obsah()); Dál bych to řešil pravděpodobně pomocí preg_replace_callback(), ale to teď není důležité, hlavní problém spočívá v onom .+ protože tečka (dot) mi nezachytí odřádkování, čili nemohu pokračovat dále. Kdyby se někdo ptal na smysl, odpověď je jednoduchá: Potřebuji tyto css komprimovat (kvůli extrémním délkám) a filtrovat (kvůli novýmu template), bohužel to nelze řešit jinak. |
||
Kcko Profil |
#2 · Zasláno: 3. 7. 2010, 21:10:35 · Upravil/a: Kcko
preg_replace('/<style>(.+)<\/style>/s', '$1', obsah()); A jeste bych doplnil modifikator i jako opatreni proti moznosti velikosti tagu. |
||
Alphard Profil |
#3 · Zasláno: 3. 7. 2010, 21:11:33 · Upravil/a: Alphard
xerno:
„protože tečka (dot) mi nezachytí odřádkování“ Doplňte parametr s PCRE_DOTALL. // Nalezení odkazu mě zdrželo skoro minutu :-( |
||
Kcko Profil |
#4 · Zasláno: 3. 7. 2010, 21:14:43
Alphard:
Mohl jsi napsat jen s, nic se nema prehanet :-) |
||
xerno Profil |
#5 · Zasláno: 3. 7. 2010, 21:39:16
Kcko:
Díky za rychlou reakci, vyřešilo se mnohé a můžu pokračovat, díky :) Každopádně obsah stránky je normovaný a tagy jsou malé všechny. Alphard: Díky za odkaz, bude se hodit :) |
||
Časová prodleva: 14 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0