从html中提取标题标签

时间:2009-04-04 13:39:48

标签: html tags extract title

我想从html字符串中提取title标签的内容。我做了一些搜索但到目前为止我无法在VB / C#或PHP中找到这样的代码。这也适用于大写和小写标签,例如应该同时使用<title></title>和&lt; TITLE></TITLE>。谢谢。

3 个答案:

答案 0 :(得分:7)

您可以使用正则表达式,但它不是完全防错的。如果你只是想要一些简单的东西(在PHP中):

function get_title($html) {
  return preg_match('!<title>(.*?)</title>!i', $html, $matches) ? $matches[1] : '';
}

答案 1 :(得分:3)

听起来像正则表达式的工作。这将取决于HTML格式正确,即只在head元素中找到title元素。

 Regex regex = new Regex( ".*<head>.*<title>(.*)</title>.*</head>.*",
                          RegexOptions.IgnoreCase );
 Match match = regex.Match( html );
 string title = match.Groups[0].Value;

我没有在我面前的正则表达备忘单,所以可能需要稍微调整一下。请注意,在没有title元素的情况下也没有错误检查。

答案 2 :(得分:0)

如果title标签中有任何属性(不太可能但可能发生),则需要按如下方式更新表达式:

$title = preg_match('!<title.*>(.*?)</title>!i', $url_content, $matches) ? $matches[1] : '';