INSERT INTO `content` VALUES('caudium.net', '/developer/pikeref/ex/predef_3A_3A/ Parser/HTML.html', 'very simple HTML->Text (DeHTML.pike): \r\n\r\n\r\nint d eHTML(string html) {\r\n object p=Parser.HTML();\r\n p->_set_tag_c allback(tag_cb);\r\n p->_set_data_callback(data_cb);\r\n p->add_co ntainer("head",container_cb);\r\n p->add_container("script",container_cb) ;\r\n p->add_container("style",container_cb);\r\n p->add_container ("title",container_cb);\r\n p->finish(html);\r\n return(p->read()) ;\r\n}\r\nmixed container_cb(Parser.HTML p, mapping args, string content, mixed ... extra)\r\n{ return ""; }\r\n\r\nmixed data_cb(Parser.HTML p, string text,mix ed ... extra) {\r\n if( text && sizeof(text) ) {\r\n text= replace(text,({"\\n"}),({""}));\r\n }\r\n return ({ text });\r\n}\ r\n\r\nmixed tag_cb(Parser.HTML p, mapping args,mixed ... extra ) {\r\n s tring tag=p->tag_name();\r\n switch(tag) {\r\n case "br":\ r\n case "p":\r\n case "/h1":\r\n c ase "/h2":\r\n case "/h3":\r\n case "/h4":\r\n case "/h5":\r\n case "/h6":\r\n retu rn ({ "\\n" });\r\n break;\r\n case "hr":\r\n return ({ "\\n--------------------------------------------------- -------------------\\n" });\r\n break;\r\n }\r\n return "";\r\n}\r\n', '2006-01-05 13:13:11', NULL, 461);