![](/img/trans.png)
[英]How do I copy formatted HTML string into a Clipboard for paste using C#?
[英]replacing a text inside clipboard which contains html formatted string in C#
我想要做的是替換剪貼板內的一部分文本,但問題是它是 html 格式的文本,我無法使用下面給定的 C# 代碼修改其內容。 任何解決方案?
復制我所做的步驟:
1- 將劍橋高級學習詞典 4 中的條目復制到剪貼板或任何其他 html 格式的文本到剪貼板
2- 在 windows 窗體應用程序中使用這些 C# 代碼來修改和替換文本,同時保持其 html 格式:
private void button1_Click(object sender, EventArgs e)
{
string myStr = Clipboard.GetText(TextDataFormat.Html);
myStr.Replace("Cambridge Advanced Learner's Dictionary - 4th Edition", "******************************");
Clipboard.SetText(myStr,TextDataFormat.Html);
}
但似乎根本行不通!
注意:我想保留 html 格式,我不想從其 html 格式中刪除字符串。
我使用了正則表達式,當我使用時它似乎工作:
myStr = Regex.Replace(myStr, "Cambridge Advanced Learner's Dictionary - 4th Edition", "");
但是當我想使用時:
myStr = Regex.Replace(myStr, "Cambridge Advanced Learner's Dictionary - 4th Edition<br /><br />", "");
這是行不通的! 刪除這些 html 標簽的任何解決方案: <br /><br />
?
您必須以特殊的HTML 剪貼板格式(指向描述的鏈接)格式化文本。
它看起來像這樣(工作示例與鏈接中給出的示例不同,它具有錯誤的開始和結束編號):
Version:1.0
StartHTML:00085
EndHTML:00287
StartFragment:00105
EndFragment:00269
<!--StartFragment--><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8" /><TITLE></TITLE></HEAD><BODY>YOUR <B>HTML FORMATTED</B> TEXT GOES HERE!</BODY></HTML><!--EndFragment-->
還要確保在頂部填寫正確的開始和結束編號。 更具體地說,您必須調整EndHTML
、 EndFragment
和EndSelection
以反映文本長度的變化。 單獨更換是行不通的。
使用正則表達式在某種程度上解決了這個問題:
private void button1_Click(object sender, EventArgs e)
{
string myStr = Clipboard.GetText(TextDataFormat.Html);
myStr = Regex.Replace(myStr, "Cambridge Advanced Learner's Dictionary - 4th Edition", "");
Clipboard.SetText(myStr,TextDataFormat.Html);
}
但仍然無法從剪貼板中刪除像<br /><br />
這樣的 HTML 標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.