Link aus Tag

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Ultimator.

    Link aus Tag

    Ich hab ein Problem. Ich hab folgenden HTML Code:

    Quellcode

    1. <a href="http://google.de"><img src="images/link.png"> Link zur Originalseite</a>


    Dann habe ich durch txt2re bekommen:

    VB.NET-Quellcode

    1. Dim re1 As String = ".*?" 'Non-greedy match on filler
    2. Dim re2 As String = "((?:http|https)(?::\/{2}[\w]+)(?:[\/|\.]?)(?:[^\s""]*))" 'HTTP URL 1
    3. Dim re3 As String = ".*?" 'Non-greedy match on filler
    4. Dim re4 As String = "(Originalseite)" 'Word 1
    5. Dim r As Regex = New Regex(re1 + re2 + re3 + re4, RegexOptions.IgnoreCase Or RegexOptions.Singleline)
    6. Dim m As Match = r.Match(TextBox1.Text)
    7. If (m.Success) Then
    8. Dim httpurl1 = m.Groups(1)
    9. Dim word1 = m.Groups(2)
    10. zshare_link.Text = httpurl1.ToString() + word1.ToString()
    11. End If


    Ich dachte mir, dass nun der Link genommen wird, in welchen Tag Originalseite steht.
    Es kommt ein Link vom Header und Originalseite so: url.de/index.php/Originalseite .
    Das soll aber nicht kommen... ^^

    Was mach ich falsch?
    Mhh..was machst du falsch? Im Prinzip hast du einfach den Audruck falsch zusammen gebaut ;)
    Du suchst ja nur nach irgendwas, dass mit "http" beginnt und mit "Originalseite" aufhört...

    Was du willst ist aber: Suche alle <a>-Tags, die Originalseite beinhalten und merke dir dann den Link.

    VB.NET-Quellcode

    1. New RegEx("<a href=""([^""])"">(?>[^<]*|<(?!/a>))*Link zur Originalseite")

    So sollte es gehen, allerdings ist es auch nicht so ganz schön durch die Alternation, die da drin ist...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ultimator“ ()

    Naja...eigentlich musst du nur meinen Ausdruck statt deinem verwenden...
    Der einzige Unterschied ist, dass du nur eine Gruppe hast und nicht zwei wie bei dir.
    Also ist der gewünschte Link in "[Match].Groups(1).Value".
    Groups(0) bezieht sich immer auf den Gesamt Treffer.