我想从 html 字符串中提取标题标签的内容。我已经进行了一些搜索,但到目前为止我无法在 VB/C# 或 PHP 中找到这样的代码。这也应该适用于大写和小写标签,例如应该适用于<title></title>
和 < TITLE></TITLE>
。谢谢你。
Humayun
问问题
8456 次
3 回答
7
您可以为此使用正则表达式,但它并非完全防错。如果你只是想要一些简单的东西(在 PHP 中),它会做:
function get_title($html) {
return preg_match('!<title>(.*?)</title>!i', $html, $matches) ? $matches[1] : '';
}
于 2009-04-04T13:52:04.107 回答
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 元素的情况下也不会进行错误检查。
于 2009-04-04T13:51:20.553 回答
0
如果标题标签中有任何属性(这不太可能但可能发生),您需要按如下方式更新表达式:
$title = preg_match('!<title.*>(.*?)</title>!i', $url_content, $matches) ? $matches[1] : '';
于 2013-11-06T09:08:47.810 回答