HTML文字列からタイトルタグの内容を抽出したい。いくつかの検索を行いましたが、これまでのところ、VB/C# または PHP でそのようなコードを見つけることができません。また、これは大文字と小文字の両方のタグで機能する必要があります。たとえば、<title></title>
と <の両方で機能しTITLE></TITLE>
ます。ありがとうございました。
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 に答える