إزالة HTML من السلسلة في SSRS 2005 (VB.NET)
-
09-06-2019 - |
سؤال
لي مجموعة بيانات SSRS إرجاع حقل مع HTML، على سبيل المثال
<b>blah blah </b><i> blah </i>.
كيف يمكنني تجريد كافة علامات HTML؟يجب القيام به مع في النسق VB.NET
إن تغيير البيانات في الجدول ليس خيارًا.
تم العثور على الحل ...= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>"،")
المحلول
شكرًا لدانيال، لكنني كنت بحاجة إلى القيام بذلك بشكل مباشر ...هذا هو الحل:
= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
وهنا الروابط:
http://weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx
http://msdn.microsoft.com/en-us/library/ms157328.aspx
نصائح أخرى
فيما يلي مثال جيد لاستخدام التعبيرات العادية: http://www.4guysfromrolla.com/webtech/042501-1.shtml
إذا كنت تعلم أن HTML مُصمم بشكل جيد بما فيه الكفاية، فيمكنك، إذا تأكدت من أنه يحتوي على عقدة جذر، تحويل البيانات الموجودة في هذا الحقل إلى System.Xml.XmlDocument ثم الحصول على قيمة InnerText منه.
مرة أخرى، سيتعين عليك التأكد من أن النص يحتوي على عقدة جذر، والتي يمكنك إضافتها بنفسك إذا لزم الأمر، لأنه لن يهم، وتأكد من تشكيل HTML بشكل جيد.
إذا كنت لا ترغب في استخدام التعبيرات العادية (على سبيل المثال، إذا كنت بحاجة إلى أداء أفضل)، فيمكنك تجربتها طريقة صغيرة كتبتها منذ فترة، وتم نشرها في CodeProject.
سأذهب إلى "خصائص التقرير" ثم أقوم برمز وإضافة ما يلي
Dim mRemoveTagRegex AS NEW System.Text.RegularExpressions.Regex("<(.|\n)+?>", System.Text.RegularExpressions.RegexOptions.Compiled)
Function RemoveHtml(ByVal text As string) AS string
If text IsNot Nothing Then
Return mRemoveTagRegex.Replace(text, "")
End If
End Function
ثم يمكنك استخدام Code.RemoveHtml(Fields!Content.Value)
لإزالة علامات HTML.
في رأيي، هذا أفضل من الحصول على نسخ متعددة من التعبير العادي.