【问题标题】:How can I get the text of a <textarea> in a webpage?如何在网页中获取 <textarea> 的文本?
【发布时间】:2021-08-11 09:49:13
【问题描述】:

HTML:

<body>
<textarea readonly id="txtImagename1" name="txtImagename1" rows="1000" cols="200">
testing
second line
</textarea>
</body>

</html>

如何通过c#代码获取textarea中的文本?

(测试\n第二行)

【问题讨论】:

标签: c# html webclient


【解决方案1】:

您应该使用专用的 HTML 解析器。

但是,如果这是一个简单粗暴的要求,您可以使用带有捕获组的正则表达式,如下所示:

var html = <your HTML for parsing>;
var pattern = @"<textarea.*>([.\s\S]*)</textarea>";
var matches = Regex.Matches(html, pattern);
if (matches.Count > 0 && matches[0].Groups.Count > 1)
...

然后您可以使用以下内容提取捕获的组(正则表达式中圆括号中的部分):

var text = match.Groups[1].Captures[1];

更多详情请见this answer

这很脆弱,我不建议将其用于重用或生产代码。

【讨论】:

  • 谢谢,“var html”是指网站的源代码吗?
  • 是的,html 这是您在问题中发布的完整文本块 (HTML)。如果源 HTML 包含多个 textarea 元素,那么这将更加棘手(在这种情况下,您确实应该使用 HTML 解析器)。
猜你喜欢
  • 2016-11-20
  • 2010-10-17
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 2010-09-09
  • 2019-11-29
相关资源
最近更新 更多