تجريد علامات MS Word باستخدام حزمة HTML Agility
-
22-09-2019 - |
سؤال
لديّ DB مع بعض حقول النص التي تم لصقها من MS Word ، وأنا أواجه مشكلة في تجريد العلامات ، ولكن من الواضح أن الحفاظ على النص الداخلي.
لقد حاولت استخدام HAP لكنني لن أذهب في الاتجاه الصحيح ..
Public Function StripHtml(ByVal html As String, ByVal allowHarmlessTags As Boolean) As String
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(html)
Dim invalidNodes As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div|//font|//span")
For Each node In invalidNodes
node.ParentNode.RemoveChild(node, False)
Next
Return htmlDoc.DocumentNode.WriteTo()
End Function
يحدد هذا الرمز ببساطة العناصر المطلوبة ويزيلها ... ولكن لا تحتفظ بنصها الداخلي ..
شكرا لك مقدما
المحلول
حسنًا ... أعتقد أنني وجدت حلاً:
Public Function StripHtml(ByVal html As String) As String
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(html)
Dim invalidNodes As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div|//font|//span|//p")
For Each node In invalidNodes
node.ParentNode.RemoveChild(node, True)
Next
Return htmlDoc.DocumentNode.WriteContentTo
End Function
كنت هناك تقريبًا ...: ص
لا تنتمي إلى StackOverflow