Zeile aus einem HTML Quellcode anzeigen / Get a line from a HTML source code

01/13/2016 02:03 シスイ#1
[DE]
Hallo!

[ENG]
Hello!
01/13/2016 09:25 Biesi#2
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
01/13/2016 11:54 .SkyneT.#3
C# gehört eigentlich in den .NET Bereich.

Ich würde das mit nem HTML Parser machen. z.B. [Only registered and activated users can see links. Click Here To Register...]
Danach musst du nur noch alle "meta" elemente mit dem Attribut "name=title" finden und den Wert vom "content" Attribut auslesen.

Sieht dann so ähnlich aus:
(kleinere fehler könnten enthalten sein, sieh es mehr als Pseudocode)
Code:
var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml("html source code als string...");
var metas = doc.DocumentNode.SelectNodes("//meta");
foreach (var meta in metas)
{
   if(meta.Attributes["name"].Value == "title")
   {
      meta.Attributes["title"].Value //das wäre der gesuchte string
      break;
   }
}
01/13/2016 19:06 hazejp#4
Wonach du suchst, nennt sich "Regular Expressions". Eine der vielfältigsten Methoden.

Kleines Beispiel:

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace HTMLRegex
{
    class Program
    {
        private static readonly Regex rMeta = new Regex("<meta.+content=\"(?<content>.+)\".*>");
        const string eg = "<meta content=\"hai\">";

        static void Main(string[] args)
        {
            var mr = rMeta.Match(eg);
            Console.WriteLine(mr.Groups["content"]);
        }
    }
}
01/16/2016 23:27 Mysthik#5
Quote:
Originally Posted by hazejp View Post
Wonach du suchst, nennt sich "Regular Expressions". Eine der vielfältigsten Methoden.
[/code]
HTML ist keine reguläre Sprache und somit nicht für Reguläre Ausdrücke geeignet. Ein HTML-Parser ist da die bessere wahl.