rendered paste bodyINSERT INTO `content` VALUES('caudium.net', '/developer/pikeref/ex/predef_3A_3A/
Parser/HTML.html', 'very simple HTML->Text (DeHTML.pike): \r\n\r\n<phl>\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</phl>', '2006-01-05 13:13:11', NULL, 461);