Je reflète certains sites Web internes à des fins de sauvegarde. En ce moment j'utilise essentiellement ce code C#:C# Conversion relative aux liens absolus dans la chaîne HTML
System.Net.WebClient client = new System.Net.WebClient();
byte[] dl = client.DownloadData(url);
Ce télécharge juste fondamentalement le code html et dans un tableau d'octets. C'est ce que je veux. Le problème est cependant que les liens au sein du html sont la plupart du temps relatifs, pas absolus.
Je veux fondamentalement ajouter n'importe quel plein http://domain.is avant le lien relatif comme pour le convertir en un lien absolu qui redirigera vers le contenu original. Je suis fondamentalement juste concerné par href = et src =. Existe-t-il une expression regex qui couvrira certains des cas de base?
Modifier [Ma tentative]:
public static string RelativeToAbsoluteURLS(string text, string absoluteUrl)
{
if (String.IsNullOrEmpty(text))
{
return text;
}
String value = Regex.Replace(
text,
"<(.*?)(src|href)=\"(?!http)(.*?)\"(.*?)>",
"<$1$2=\"" + absoluteUrl + "$3\"$4>",
RegexOptions.IgnoreCase | RegexOptions.Multiline);
return value.Replace(absoluteUrl + "/", absoluteUrl);
}
en double de http://stackoverflow.com/questions/3836644/c-convert-relatif-aux-liens-absolus-en-html-string/3836790 # 3836790 que vous avez demandé plus tôt aujourd'hui! –