상대 경로 대신 절대 경로를 가리 키도록 모든 src 특성을 변환해야합니다. 나는 HTML Agility를 사용하여 이것을 시도했다.
string html = "<body><div><img src=\"/folder/a.png\"/></div><div> <img src=\"/folder/b.png\"/></div></body>";
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
foreach (var node in htmlDoc.DocumentNode.SelectNodes("//img"))
{
var src = node.Attributes[@"src"].Value;
if (src.StartsWith("/"))
node.SetAttributeValue("//src", "www.abc.xyz" + src);
}
var newHtml = htmlDoc.Text;
그러나 src 속성은 여전히 상대 경로를 가리 킵니다.
htmlDoc.DocumentNode.WriteTo()
메서드를 사용하여 변경 사항을 원본 HTML에 반영해야합니다.
string html = "<body><div><img src=\"/folder/a.png\"/></div><div> <img src=\"/folder/b.png\"/></div></body>";
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
foreach (var node in htmlDoc.DocumentNode.SelectNodes("//img"))
{
var src = node.Attributes[@"src"].Value;
if (src.StartsWith("/"))
node.SetAttributeValue("src", "www.abc.xyz" + src);
}
var newHtml = htmlDoc.DocumentNode.WriteTo();
산출:
한번 시도해보십시오.