From: Petr Pokorny (mail@pp21.cz)
Date: 30. 04. 2003, 09:42 CEST
h! y n e k . l i p a <hynek.lipa@worldonline.cz>: > Miro Vesely wrote: >> ... hrozne by mi ulahcilo pracu, ak by sa dalo includovat >> len html, cize bez hlavicky a konca stranky.... >> <body bgcolor="#FFFFFF"><h1>ahoj</h1></body></html> >> by inkludlo <h1>ahoj</h1> > tak pokud Te dobre chapu, tak mas soubor (pripadne vic) a z nej chces > natahnout jen neco? pak by to slo pomoci regularnich vyrazu, takze pro > Tvuj pripad asi takto: > $text = '<!DOCTYPE .... '; > > echo (ereg_replace('^(.+)<h1>([^<]*)</h1>(.+)','<h1>\\2</h1>',$text)); Koukam, ze si to pochopil jinak nez ja :( IMHO Mirex chce vlozit vse co je mezi <body ...> a </body>, ne jen to co je v <h1>. Bohuzel ten regexp zmenit nedokazu (omezena kapacita meho chapani). Je totiz treba pocitat s tim, ze body nemusi byt vzdy <body>, ale treba <body onload='neco'>. > jen Ti musi nekdo rict, jak dostat do promene $text ten includovany > soubor, mne uz se nad tim nechce premyslet ;) Nevim jak moc je to idealni, ale ja bych pouzil tohle: $text = implode("", file("./soubor.html")); echo (ereg_replace('...podminka...',$text)); V pripade usporneho (a neprehledneho) kodu by to mohlo byt i na jednom radku ;o) echo (ereg_replace('...podminka...',implode("", file("./soubor.html")))); Jen pro uplnost doplnim, ze v zadnem z techto pripadu nedojde ke zpracovani PHP kodu v souboru soubor.html. Takze pokud je v nem teba <? echo "ahoj"; ?>, nezpracuje se to. Podle pripony .html soubim, ze tam nic takoveho asi nebude. Ale pokud ano, chtelo by to nejak osetrit (eval?). BTW pouze pro vypsani obsahu souboru mi pripadne zbytecne pouzivat include(). Tahle fce nacte obsah souboru a prozene ho PHP parserem. Oproti tomu readfile() pouze vypise obsah souboru na standardni vystup, takze jej vlastne odesle. http://www.php.net/manual/sk/function.readfile.php -pp21-
This archive was generated by hypermail 2.1.6 : 30. 04. 2003, 09:44 CEST