[英]Removing HTML from a string
我有一张桌子(Wijmo网格)。 日志列中包含一些文本。
允许用户在文本中编写HTML
,因为邮寄时也会使用相同的文本,以使其外观漂亮且样式精美。
假设文字为:
var text = "Hello friend <br> How are you? <h1> from me </h1>";
我可以/应该使用任何方法或JSON.stringify()和HTML.enocde()来获取:
var textWithoutHtml = magic(text); // "Hello friend How are you? from me"
问题之一是,如果文本包含"<br>"
则它会折断到表格行的下一行,并且有可能看到该行第二行的上半部分,但女巫看起来不太好。
var text = "Hello friend <br> How are you? <h1> from me </h1>";
var newText = text.replace(/(<([^>]+)>)/ig, "");
小提琴: http : //jsfiddle.net/EfRs6/
您可以这样尝试:
string s = Regex.Replace("Hello friend <br> How are you? <h1> from me </h1>", @"<[^>]+>| ", "").Trim();
您还可以检查HTML Agility Pack
这是一个敏捷的HTML解析器,它构建了一个读/写DOM并支持纯XPATH或XSLT(您实际上不必了解XPATH或XSLT来使用它,不用担心...)。 这是一个.NET代码库,可让您解析“网络外” HTML文件。 该解析器对“真实世界”格式的HTML十分宽容。 对象模型与提出System.Xml的对象模型非常相似,但用于HTML文档(或流)。
<[^>]+>| /
1st Alternative: <[^>]+>
< matches the characters < literally
[^>]+ match a single character not present in the list below
Quantifier: Between one and unlimited times, as many times as possible, giving back as needed [greedy]
> a single character in the list > literally (case sensitive)
> matches the characters > literally
2nd Alternative:
matches the characters literally (case sensitive)
据我了解您的问题,您可以在C#中编码这样的值
string encodedValue= HttpUtility.HtmlEncode(txtInput.Text);
注意:此处txtInput是页面上TextBox的ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.