#! /usr/bin/gawk -f # Last edited on 2000-05-08 23:36:05 by stolfi BEGIN{ buf = ""; sep = ""; } /./ { gsub(/[&]nbsp;/, " ", $0); gsub(/FONT/, "font", $0); gsub(/FACE/, "face", $0); gsub(/COLOR/, "color", $0); gsub(/SIZE/, "size", $0); buf = (buf sep $0); sep = " "; churn(); } END { if (buf != "") { print buf; } } function churn( k) { k = 3; while ((k > 0) && match(buf, / ]*>([^<>]*)<\/font>/, "\\1", "g", buf); buf = gensub(/ ]*>([^<>]*)<\/font>/, "\\1", "g", buf); k--; } while(1) { if (match(buf, / 1) { print substr(buf, 1, RSTART-1); buf = substr(buf, RSTART); } if (match(buf, /<\/(font|FONT)>/)) { print substr(buf, 1, RSTART+RLENGTH-1); buf = substr(buf, RSTART+RLENGTH); } else { return; } } else { if (buf != "") { print buf; buf = ""; } return; } } }