这是做到这一点的万无一失的方法。
- 我不喜欢使用第三方库来解决小问题。顺便说一句,对敏捷包没有冒犯。它超级棒且强大。你永远不想自己解析 HTML。但这是一个很小的边缘案例!为什么要搞砸它?
- 您不能确定 HTML 是否会解析,因此您需要其他内容。XML 很诱人,但除非您 100% 肯定这是有效的 XHTML(现在什么都不是),否则最好不要追逐它。只需将其视为字符串解析练习。
什么最能解析字符串?正则表达式,就是这样。
这是您的解决方案:
var s = @"
<meta property=""og:type"" content=""photo"" />
<meta property=""og:description"" content=""descrizione"">
<meta property=""og:site_name"" content=""Site_Name"" />
<meta property=""og:title"" content="""" />
<meta property=""og:image"" content=""http://addfsfdbyhdfsifd.jpg"" />
<meta property=""og:determiner"" content=""a"" />
<meta property=""fb:app_id"" content=""124024574287414"" />
<meta property=""og:url"" content=""http://addfsfdbyhdfsifd.com"" />";
// first define what you will look for using regex pattern syntax
var p = @"meta\s{1,}property=""og:image""\s{1,}content=""(.+)""\s{0,}/>";
// second let the regex engine use your pattern against your html string
var m = System.Text.RegularExpressions.Regex.Match(s, p);
// third pull out just the part you want from the resulting match
var g = m.Groups[1];
// forth get the value from the meta tag, specifically the og:image you wanted
var i = g.Value;
是的,就是这么简单。Regex 也使它更可靠。
祝你好运!