How to extract img tag in Mail Body in VB.NET

I saved the contents of the mail (body of the letter) in the database.
I would like to extract the value of the "src" attribute of the entire image tag () from this mail content.
One or more images may be included in the body of the letter.

Please let me know how I can achieve this in VB.NET?
Thank.

+3
source share
1 answer

You can use regex .

Try
    Dim RegexObj As New Regex("<img[^>]+src=[""']([^""']+)[""']", RegexOptions.Singleline Or RegexOptions.IgnoreCase)
    Dim MatchResults As Match = RegexObj.Match(SubjectString)
    While MatchResults.Success
        ' SRC attribute is in MatchResults.Groups(1).Value
        MatchResults = MatchResults.NextMatch()
    End While
Catch ex As ArgumentException
    'Syntax error in the regular expression (which there isn't)
End Try

Here's how it works:

<img[^>]+src=["']([^"']+)["']

Match the characters "<img" literally «<img»
Match any character that is not a ">" «[^>]+»
   Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Match the characters "src=" literally «src=»
Match a single character present in the list ""'" «["'
Match the regular expression below and capture its match into backreference number 1 «([^"']+)»
   Match a single character NOT present in the list ""'" «[^"']+»
      Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Match a single character present in the list ""'" «["']»
+6
source

Source: https://habr.com/ru/post/1749549/


All Articles