#include <stdio.h>
#include <string.h>
void replace_multiple_br(char *input) {
char temp[1024] = "";
char *src = input;
char *dst = temp;
const char *br = "<br/>";
size_t br_len = strlen(br);
int prev_was_br = 0;
while (*src) {
if (strncmp(src, br, br_len) == 0) {
if (!prev_was_br) {
memcpy(dst, br, br_len);
dst += br_len;
prev_was_br = 1;
}
src += br_len;
} else {
*dst++ = *src++;
prev_was_br = 0;
}
}
*dst = '\0';
strcpy(input, temp);
}
int main() {
char input[] = "ab<br/><br/>cd<br/>efg<br/><br/><br/>hijk<br/><br/>";
replace_multiple_br(input);
printf("%s\n", input);
return 0;
}
/*
run:
ab<br/>cd<br/>efg<br/>hijk<br/>
*/