diff options
| author | 2024-08-11 17:29:09 +0200 | |
|---|---|---|
| committer | 2024-08-11 17:29:09 +0200 | |
| commit | 382ff0334994a11b9905a5b9eceea95ef3153424 (patch) | |
| tree | 1689f60a85584df11cbba611a50168e4886b7879 /data.c | |
| parent | mastoapi: also use mastoapi_timeline() with lists. (diff) | |
| download | snac2-382ff0334994a11b9905a5b9eceea95ef3153424.tar.gz snac2-382ff0334994a11b9905a5b9eceea95ef3153424.tar.xz snac2-382ff0334994a11b9905a5b9eceea95ef3153424.zip | |
content_search() also search into alt-text from attachments.
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 16 |
1 files changed, 15 insertions, 1 deletions
| @@ -2491,8 +2491,22 @@ xs_list *content_search(snac *user, const char *regex, | |||
| 2491 | if (xs_is_null(content)) | 2491 | if (xs_is_null(content)) |
| 2492 | continue; | 2492 | continue; |
| 2493 | 2493 | ||
| 2494 | xs *c = xs_dup(content); | ||
| 2495 | |||
| 2496 | /* add alt-texts from attachments */ | ||
| 2497 | const xs_list *atts = xs_dict_get(post, "attachment"); | ||
| 2498 | int tc = 0; | ||
| 2499 | const xs_dict *att; | ||
| 2500 | |||
| 2501 | while (xs_list_next(atts, &att, &tc)) { | ||
| 2502 | const char *name = xs_dict_get(att, "name"); | ||
| 2503 | |||
| 2504 | if (name != NULL) | ||
| 2505 | c = xs_str_cat(c, " ", name); | ||
| 2506 | } | ||
| 2507 | |||
| 2494 | /* strip HTML */ | 2508 | /* strip HTML */ |
| 2495 | xs *c = xs_regex_replace(content, "<[^>]+>", " "); | 2509 | c = xs_regex_replace_i(c, "<[^>]+>", " "); |
| 2496 | c = xs_regex_replace_i(c, " {2,}", " "); | 2510 | c = xs_regex_replace_i(c, " {2,}", " "); |
| 2497 | c = xs_tolower_i(c); | 2511 | c = xs_tolower_i(c); |
| 2498 | 2512 | ||