4

いくつかのテキストがあり、このテキストのさまざまな位置に、などのHTMLリンクがあります<a href="link">text</a>

に変換したいのですが[url=link]text[/url]

たとえば、hrefとテキストだけの読み方を知っています。

var link = doc.SelectNodes("//a");
string link = link.Attributes["href"].value;
string text = link.InnerText;

しかし、テキストを傷つけたり、位置を逃したりすることなく、同じ場所でテキストに戻すことはできますか?

例:

The brown fox <a href="link">jumped over</a> the table while the rabbit <a href="link">scaped from it</a>.

になります:

The brown fox [url=link]jumped over[/url] the table while the rabbit [url=link]scaped from it[/url].
4

1 に答える 1

4

このようなもの:

HtmlDocument doc = new HtmlDocument();
doc.Load(myTestFile);

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//a[@href]"))
{
    node.ParentNode.ReplaceChild(doc.CreateTextNode("[url=" + node.GetAttributeValue("href", null) +"]" + node.InnerHtml + "[/url]"), node);
}
于 2012-08-07T15:01:35.140 に答える