Process HTML Unicode entities specially in process_tags().

This commit is contained in:
default 2023-01-17 09:37:41 +01:00
parent 8e1f4430ff
commit b262961c93

View file

@ -272,7 +272,7 @@ void process_tags(snac *snac, const char *content, d_char **n_content, d_char **
char *p, *v; char *p, *v;
int n = 0; int n = 0;
split = xs_regex_split(content, "(@[A-Za-z0-9_]+@[A-Za-z0-9\\.-]+|#[^ ,\\.:;<]+)"); split = xs_regex_split(content, "(@[A-Za-z0-9_]+@[A-Za-z0-9\\.-]+|&#[0-9]+;|#[^ ,\\.:;<]+)");
p = split; p = split;
while (xs_list_iter(&p, &v)) { while (xs_list_iter(&p, &v)) {
@ -321,6 +321,13 @@ void process_tags(snac *snac, const char *content, d_char **n_content, d_char **
/* add the code */ /* add the code */
nc = xs_str_cat(nc, l); nc = xs_str_cat(nc, l);
} }
else
if (*v == '&') {
/* HTML Unicode entity, probably part of an emoji */
/* write as is */
nc = xs_str_cat(nc, v);
}
} }
else else
nc = xs_str_cat(nc, v); nc = xs_str_cat(nc, v);