سؤال

لديّ 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

كنت هناك تقريبًا ...: ص

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top