HomeSearch

C# Get Title From HTML With Regex

This C# example program gets the HTML title from strings with Regex. It uses the Regex.Match method.

Title from HTML.

HTML documents have title elements. The data in title elements is important. It is used for search-engine optimization and RSS feeds. This simple method extracts the TITLE elements from HTML documents.

Example.

We can extract the contents of the TITLE element from HTML. This is important for making sure your HTML is correct. After the code, we see the Regex parts in detail and more factors.

First: This console application first gets the first TITLE element from the HTML file.

Then: The program prints the title to the console. The application must have the specified HTML file present in the current directory.

C# program that gets TITLE element from HTML using System; using System.IO; using System.Text.RegularExpressions; class Program { static void Main() { // Read in an HTML file. string html = File.ReadAllText("Problem.html"); // Get the title of the HTML. Console.WriteLine(GetTitle(html)); // End. Console.ReadLine(); } /// <summary> /// Get title from an HTML string. /// </summary> static string GetTitle(string file) { Match m = Regex.Match(file, @"<title>\s*(.+?)\s*</title>"); if (m.Success) { return m.Groups[1].Value; } else { return ""; } } } Output Title of the Page

Regular expressions.

Here we look at descriptions of the regular expressions used in the above C# program. The regular expressions look for a start tag and an end tag. They also ignore whitespace between the inner parts of the tags and the string.
Symbol: Description @ Uses special string syntax. \s* Matches 0 or more spaces. (.+?) Matches text but isn't greedy. Stops as soon as it can. \s* Matches 0 or more spaces. Match C# regular expression object. Groups[1] First group found in input. Starts at 1. Value String value of Group.

Errors.

This code is not flexible enough for some HTML documents. For example, the program won't work for complicated HTML, such as HTML that heavily uses attributes. But the code that matches TITLE should work for all XHTML.

Also: They assume the HTML is lowercase, although this could be easily changed.

You can make

more capable versions of this method. However, the code is like this because I didn't want a more powerful solution. It is easier to detect small errors if your code doesn't try to deal with them.

Paragraphs: You can use regular expressions like these for reading important elements from your HTML.

Paragraph HTML Regex

Summary.

We can capture the contents of the TITLE and paragraph elements from HTML documents using the C# language. Every webmaster should know that the TITLE is important. This helper method makes it easier to process.Regex
Home
Dot Net Perls
© 2007-2019 Sam Allen. All rights reserved. Written by Sam Allen, info@dotnetperls.com.