Je s tím docela drbačka, protože v teletextu se šetří místem (omezená velikost zprávy), někde věta nekončí tečkou, někde je nadpis oddělen od textu a někde zase ne. Těch problémů je víc a postupně je vychytávám.
Tady je kód regex (regexp) pro úpravu textu tak, aby dobře vypadal:
.replace(/<pre>/gmi, "") // remove <pre> tag
.replace(/<\/pre>/gmi, "") // remove </pre> tag
.replace(/ +/g, " ")
//.replace(/[.](?!\d*$)/gm, ".") // ???
.replace(/\n\s\n/gmi, ".</p><p>") // add dot at the end of paragraph
.replace(/\s+\./gmi, ".") // remove space(s) before dot
.replace(/\.\s+\,\./gmi, ".") // replace dot space(s) comma dot with dot
.replace(/\.+\./gmi, ".") // replace multi dots with one dot
.replace(/\n/gmi, "") // replace \n to nothing
.replace(/°C/gmi, "°C.")
.replace(/\.,/gmi, ",")
.replace(/:\./gmi, ":")
.replace(/- /gmi, "")
.replace(/ +/g, " ") // remove multi spaces
.replace(/\./gmi, ". ")
.replace(/\.\s\./gmi, ".")
.replace(/,/gmi, ", ")
.replace(/(\d)\.\s+(\d{3})/gmi, "$1$2") // remove dot and spaces inside number like 12. 986 -> 12986
.replace(/<p>\.\s+<\/p>/gmi, "") // remove empty paragraph with dot only
.replace(/-ms/gmi, "").replace(/-dš/gmi, "").replace(/-lm/gmi, "") // remove author's signature
.replace(/zb\./gmi, "").replace(/lm\./gmi, "") // remove author's signature
Něco jsem vymyslel sám, něco vygůglil; jak to narůstá, je to docela komplexní a někde mám stejnou funkci dvakrát, ale nechce se mi do toho vrtat