-
Notifications
You must be signed in to change notification settings - Fork 1
/
parser.c
52 lines (47 loc) · 1.17 KB
/
parser.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
#include <string.h>
void parser(char * string)
{
int in=0; //Variable to track whether we are inside the tag
int index = 0;
for (int i = 0; i < strlen(string); i++){
if(string[i] == '<'){
in = 1;
continue;
}
else if(string[i]=='>')
{
in = 0;
continue;
}
if(in==0){
string[index] = string[i];
index ++;
}
}
string[index] = '\0';
//Remove the trailing spaces from the beginning
while(string[0] ==' ')
for (int i = 0; i < strlen(string); i++)
string[i] = string[i+1]; //Shift the string to the left
//Remove the trailing spaces from the end
while(string[strlen(string) - 1] == ' ')
string[strlen(string) - 1] = '\0';
}
int main()
{
char string[] = " <harrysdfsdfsdf>this is a heading </harry> ";
parser(string);
printf("The parsed string is ~~%s~~", string);
return 0;
}
/*
Input:
<h1> This is a heading </h1>
Output:
This is a heading
Input:
<span> This is a heading2 </span>
Output:
This is a heading2
*/