From: Ivanek (zlutypes@seznam.cz)
Date: 30. 04. 2003, 17:44 CEST
> Tak to je trochu viac ako riadok, dva ;) a mas tam regularny vyraz, > ktory to bude poriadne brzdit. Predstav si, ze nebude. Jednoduchy linearni regex typu // a jeste k tomu pouzity na kratky string je dokonce rychlejsi nez pouziti nektere stringove fce, napr. strstr(). Napsal jsem si to v obou verzich a to, co jsem predpokladal, se potvrdilo. Fce: function myinclude($what,$incl=0){ $fx=fopen($what,"r"); $flg=false; $txt=''; while($line=fgets($fx,8192)){ if(preg_match("/<!-- myinclude -->/i",$line)){ $flg=!$flg; if(!$incl)continue; } $txt.=$flg?(trim($line)."\r\n"):''; } fclose($fx); return $sum; } byla dokonce 1.4x rychlejsi, nezli totez se stristr(): function myinclude($what,$incl=0){ $fx=fopen($what,"r"); $flg=false; $txt=''; while($line=fgets($fx,8192)){ if(stristr($line,'<!-- myinclude -->')){ $flg=!$flg; if(!$incl)continue; } $txt.=$flg?(trim($line)."\r\n"):''; } fclose($fx); return $sum; } Neco jineho by samozrejme bylo pouzit substitucni regex (s///), jak to tady nekdo navrhoval, a dokonce se substituci podle podskupin v regexu a jeste ke vsemu na string, ve kterem mel byt CELY soubor... > IMHO ziadne jednoduche riesenie neexistuje. IMHO je to jednoduche az az a server to tozhodne nezatizi vic nez include, ktere parser nejdrive (a zde zbytecne) zkusi interpretovat. > Mohlo by este fungovat napriklad, ze si ten includovany subor nacitas > do premennej a potom: > strip_tags ($subor, [zoznam povolenych html tagov]) > ale to je tiez skrabanie sa lavou rukou za pravym uchom. > Michal Bilcik (ICQ# 156366308) To skutecne je. A zase pracovat na stringu s CELYM souborem. a krome toho to neni to, co Mirex chtel. Moje fce je z tohoto ohledu naopak znacne univerzalni a flexibilni. Ivanek. ______________________________________________________________________ Reklama: Na náš trh přichází Volkswagen Touran, o němž se říká, že je více než jen rodinný vůz. A už dnes si ho můžete objednat i vy ve všech autosalonech Volkswagen!http://ad2.seznam.cz/redir.cgi?instance=51263%26url=http://vw.multimedia.cz/clanky/clanek1.php
This archive was generated by hypermail 2.1.6 : 30. 04. 2003, 17:44 CEST