我使用Web浏览器控件创建了该控件,该控件仅识别代码中指示的特定单词。唯一的功能是,它可以读取内容并突出显示网页内容中的单词。我唯一的问题是,如何将字符串替换为另一个单词(特别是将其更改为星号(*))而不是突出显示它?谢谢。
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(txbAdress.Text);
webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
IHTMLDocument2 doc2 = webBrowser1.Document.DomDocument as IHTMLDocument2;
StringBuilder html = new StringBuilder(doc2.body.outerHTML);
var words = new[] { "bobo", "tanga", "gago" };
foreach (String key in words)
{
String substitution = "<span style='background-color: rgb(255, 0, 0);'>" + key + "</span>";
html.Replace(key, substitution);
}
doc2.body.innerHTML = html.ToString();
}
答案 0 :(得分:0)
我唯一的问题是,如何将字符串替换为另一个单词 (具体将其更改为星号(*))而不是突出显示?
更改:
String substitution = "<span style='background-color: rgb(255, 0, 0);'>" + key + "</span>";
html.Replace(key, substitution);
收件人:
html.Replace(key, "*");
或者,如果您尝试用星号将单词的每个特定字符都消除掉,则构建一个长度为key
的星号字符串(您可以使用的值key.Length
。