문제

나의 SSRS 데이터 세트 HTML이 포함된 필드를 반환합니다.

<b>blah blah </b><i> blah </i>.

HTML 태그를 모두 제거하려면 어떻게 해야 하나요?해야 할 일 인라인 VB.NET

테이블의 데이터를 변경하는 것은 옵션이 아닙니다.

해결책을 찾았습니다. ...= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")

도움이 되었습니까?

해결책

Daniel에게 감사합니다. 하지만 인라인으로 처리해야 했습니다...해결책은 다음과 같습니다.

= 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 태그를 제거하려면

내 생각에는 정규식의 복사본을 여러 개 갖는 것보다 이것이 더 바람직하다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top