Smazat příspěvek

 Chystáte se smazat zprávu (se všemi případnými odpověďmi) z kategorie Hlavní diskuze:


17.06.2016 (11:51:47)
RayeR (web) :
Neznate nakou utilitu nebo funkcni skript, ktery z HTML souboru vyhazi vsechny javaskripty? Nasel sem par prikladu na pouziti SEDu ci AWK, napr.
sed -i 's/<script>.*<\/script>//' fileName
ale bud to neudelalo vubec nic nebo to vynechalo jen nektere tagy. Ty tagy muzou mit celou radu podob, treba
<script type="text/javascript" src="images/ajs_004.php"></script>
Pak sou na to asi naky moduly do PHP, ale ja to chci proste volat offline na naky stazeny soubory...
17.06.2016 (16:10:54)
Igi obalka :
A jen vypnout javascript v prohlížeči nemůžeš?
17.06.2016 (16:22:22)
RayeR (web) :
Tak samozrejme, ale chci konecne reseni - tedy vykopat z tech souboru co nejvic zbytecnejch sracek...
17.06.2016 (20:26:39)
bkralik (web) :
Potřebuješ nějakej HTML (XML) parser, na kterej poštveš script, co vyhází všechny tagy script a pak to složí zpět. Uprasit si něco by nemuselo být snad tak těžký...
PS: javascript se může schovávat i v "onNěco" událostech u jednotlivejch věcí...
17.06.2016 (20:30:21)
bkralik (web) :
Pokud je na daný stránce natažený jQuery, tak stačí v javascriptu spustit
$("script").remove();
a je odstraněno **02

Zkusim vymyslet ještě něco lepšího...
17.06.2016 (20:46:27)
bkralik (web) :
Rychlej PHPčkovej úpras. Neodstraní javascript z těch on-něco událostí, ale všechny elementy script ano...
<?php $doc = new DOMDocument(); $doc->loadHTMLFile("file.html"); $els = $doc->getElementsByTagName('script'); for ($i = $els->length; --$i >= 0; ) { $el = $els->item($i); $el->parentNode->removeChild($el); } $doc->saveHTMLFile("file_descripted.html");
18.06.2016 (01:14:16)
RayeR (web) :
Sakra, to se kuli tomu musi instalovat cely PHP? HTML tidy to asi neumi, co, to sem uz taky zkoumal. Ale dik, aspon neco...
18.06.2016 (09:29:09)
bkralik (web) :
No když chceš používat PHP, tak ho musíš mít nainstalovaný **01
Já v PHP furt něco píšu, takže ho tady mám. Z toho co jsi psal jsem usoudil, že máš k dispozici linuxovou mašinu a třeba u debianu stačí apt-get install php5-cli, což má cca 10 MB (+knihovny)
20.06.2016 (12:06:30)
RayeR (web) :
Tak jasne, jen me udivuje, ze na to nekdo nenapsal nakou nativni konzolovou aplikacku a musi se to jebat pres naky php, perly a pod...
20.06.2016 (12:15:11)
bkralik (web) :
To mi naopak přijde uplně jasný - koukni se, kolik řádků by to zabralo v C++, i kdybys použil nějakej hotovej XML/HTML parser...
20.06.2016 (23:26:56)
RayeR (web) :
Dobra, ted sem bootnul debian, nainstaloval php5 a prohnal to tim. vypsalo to u kazdyho souboru asi 10 warningu, jakysi chybejici stredniky a jedna ukoncovaci zavorka > ale proslo to (to bylo v nakem komentari).

Jediny script tag, ktery mi prosaknul na vystup je toto:
<!-- SZM VERSION="2.0" --> <!-- /SZM --><!--[if lte IE 6]> <script src="/include/javascript/ie_flicker.js" type="text/javascript"> </script> <![endif]-->
neslo by to upravit, aby to bralo tag s nazvem <script*>
* - cokoliv?
jeste sem si tam pridal 3 radky na vyhozeni <noscript> a jeste bych moh pridat <iframe>...
20.06.2016 (23:45:22)
bkralik (web) :
Mělo by to sežrat i veškeré <script *> - to je právě výhoda toho parseru. Tohle to nesežralo, protože (pravděpodobně) je ten <script> schovanej v tom podmíněném komentáři. Jestli jsem koukal správně, zkus tam dopsat ještě
$els = $doc->getElementsByTagName('comment');
(a samozřejmě navazující odmazání), to by se mělo zbavit i tohohle...
22.06.2016 (02:16:37)
RayeR (web) :
Zkusil sem pridat i s tim forem, ale nic dalsiho to nevyhodilo, soubor je stejny jako predtim.


Přezdívka:*
Heslo:*

███   ███   ███   
█ █     █     █   
███   ███    █    
█ █   █      █    
███   ███    █    
Opiš:*

Zde můžete smazat vlastní vlákno nebo kteroukoliv odpověď v něm. Můžete smazat vlastní odpověď v cizím vlákně, pokud na ni ještě nikdo jiný nereagoval. Mazat cizí vlákna a odpovědi v nich mohou pouze admini. Smazání příspěvku je nevratná operace! Smazáním vzkazu se smažou i odpovědi na něj.
Seznam uživatelů
Zpět na knihu