public string PreProcessUrl(string orgData)
{
int posl1;
var posl2 = 0;
//var IDNConveter = new IdnMapping();
var href = "<a href=\"";
while (true)
{
if (orgData.IndexOf(href, posl2, StringComparison.Ordinal) > -1)
{
var urlStr = "";
// IDN展開
posl1 = orgData.IndexOf(href, posl2, StringComparison.Ordinal);
posl1 += href.Length;
posl2 = orgData.IndexOf("\"", posl1, StringComparison.Ordinal);
urlStr = orgData.Substring(posl1, posl2 - posl1);
if (!urlStr.StartsWith("http://", StringComparison.Ordinal)
&& !urlStr.StartsWith("https://", StringComparison.Ordinal)
&& !urlStr.StartsWith("ftp://", StringComparison.Ordinal))
{
continue;
}
var replacedUrl = MyCommon.IDNEncode(urlStr);
if (replacedUrl == null) continue;
if (replacedUrl == urlStr) continue;
orgData = orgData.Replace("<a href=\"" + urlStr, "<a href=\"" + replacedUrl);
posl2 = 0;
}
else
{
break;
}
}
return orgData;
}