Skip to content

amngupta/simpleHTMLParser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTML text highlighter

The Task

The idea is that any HTML tag has a predefined color and the program will use the color associated with the tag to highlight the tag and the text within it. Whenever you find a new tag the program needs to change to the new corresponding tag color, switching back to the previous color after the closing tag.

We already have a program that applies the new color visually whenever it finds a specific escape sequence in the text (\color[RED]) by changing the current background color to the specified color. The escape sequence can contain color names or color codes (i.e. both \color[RED] or \color[FF0000] will be accepted).

Your task is to create a component that will take as input a valid HTML string and it will generate a new string with escape codes for the colors applied. To illustrate your component, you also have to create a console app that reads an HTML text file and creates an output file containing the string returned by the component.

Sample

Sample input

<html>
<head>
<title>HTML highlight test page</title>
</head>
<body>
This is text in the body.
<br>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
There is more text in the body after the paragraph.
</body>
</html>

Sample Output

\color[RED]<html>
\color[YELLOW]<head>
\color[GREEN]<title>HTML highlight test page</title>
\color[YELLOW]</head>
\color[TURQUOISE]<body>
This is text in the body.
\color[PINK]<br>
\color[DARKGREEN]<h1>This is a heading</h1>
\color[DARKGRAY]<p>This is a paragraph.</p>
\color[TURQUOISE]There is more text in the body after the paragraph.
</body>
\color[RED]</html>

Highlights

The program is written in Java. It can read a file or a valid HTML string from the command line. The program parses the HTML line by line. If the next tag is closing tag for the previous tag, then a color code is not added else, a color code is added.

About

Read HTML and add color codes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published