static S dynamizeGlobalIDsInHTML(S html) {
L tok = htmlTok(html);
Pattern pat = Pattern.compile("([^a-z])([a-z]{16})(?![a-z\\(])");
for (int i = 0; i < l(tok); i += 2) { // skip tags
S t = " " + tok.get(i) + " ";
Matcher m = pat.matcher(t);
new StringBuffer buf;
while (m.find()) {
S id = m.group(2);
S name = conceptToNameOpt(id);
mreplace(m, buf,
m.group(1) + ahref(intelligenceMachineLink(id), id, "title", name));
}
m.appendTail(buf);
tok.set(i, dropFirstAndLast(str(buf)));
}
ret join(tok);
}