Привет всем, мне нужна помощь, вот мой код;
private void button1_Click(object sender, EventArgs e)
{
string s = KaynakKodunuCek("http://tr.wikipedia.org/wiki/Lale");
// <a ... > </a> tagları arasını alıyor.(taglar dahil)
Regex regex = new Regex("(?i)<a([^>]+)>(.+?)</a>");
string gelen = s;
string inside = null;
Match match = regex.Match(gelen);
if (match.Success)
{
inside= match.Value;
richTextBox2.Text = inside;
}
string outputStr = "";
foreach (Match ItemMatch in regex.Matches(gelen))
{
Console.WriteLine(ItemMatch);
inside = ItemMatch.Value;
//boşluk bırakıp al satır yazıyor
outputStr += inside + "\r\n";
}
richTextBox2.Text = outputStr;
}
когда я нажимаю кнопку2, он анализирует html-коды на richtextbox2, но результат такой.
<a class="external text" href="//tr.wikipedia.org/w/index.php?title=%C3%96zel:G%C3%BCnl%C3%BCk&type=review&page=Lale">kontrol edilmiş</a> <a href="/wiki/Vikipedi:S%C3%BCr%C3%BCm_kontrol%C3%BC" title="Vikipedi:Sürüm kontrolü">kararlı sürüm</a> <a class="external text" href="//tr.wikipedia.org/w/index.php?title=Lale&oldid=13373007&diff=cur">1 değişiklik</a> <a href="#mw-navigation">kullan</a> <a href="#p-search">ara</a>
но я хочу видеть, что мои выходные только абзацы между тегами, например, >kontrol edilmiş<
HTML не был разработан для анализа с регулярным выражением. Вам лучше использовать что-то вроде HTML Agility Pack.
Я не буду использовать регулярное выражение для выполнения этой задачи. Я хотел бы обратиться к Microsoft.mshtml и загрузить HTML-код в IHTMLDocument2, а затем использовать LINQ для получения элементов и внутреннего текста, о которых я заботился.
using mshtml;
// I wrapped the html you provided in some other tags
string html = @"<html><head><title>some title</title></head><body><div>" +
@"<a class=""external text"" href=""//tr.wikipedia.org/w/index.php?title=%C3%96zel:G%C3%BCnl%C3%BCk&type=review&page=Lale"">kontrol edilmiş</a> <a href=""/wiki/Vikipedi:S%C3%BCr%C3%BCm_kontrol%C3%BC"" title=""Vikipedi:Sürüm kontrolü"">kararlı sürüm</a> <a class=""external text"" href=""//tr.wikipedia.org/w/index.php?title=Lale&oldid=13373007&diff=cur"">1 değişiklik</a> <a href=""#mw-navigation"">kullan</a> <a href=""#p-search"">ara</a>""" +
@"</div></body></html>";
// Load the HTML into IHTMLDocument2
IHTMLDocument2 doc = new HTMLDocumentClass();
doc.write(html);
// Get the list of anchor tags
List<IHTMLElement> anchors = doc.all.Cast<IHTMLElement>().ToList().FindAll(e => e.tagName.ToLower() == "a");
// Do something with the inner text of the anchor tags
anchors.ForEach(a => MessageBox.Show(a.innerText));