Вы можете просто искать все http://
и https://
и изменять их по мере необходимости.
Вам следует использовать Microsoft.VisualBasic.Strings
функций.
Подробнее о Microsoft.VisualBasic.Строковые функции здесь .
Вот пример кода:
string s; //store html content in this variable.
int i = Microsoft.VisualBasic.Strings.InStr(1, s.ToLower(), "http://");
int j1 = Microsoft.VisualBasic.Strings.InStr(i+1,s.ToLower(),"\"");
int j2 = Microsoft.VisualBasic.Strings.InStr(i+1,s.ToLower(),"'");
int j;
if ((j1 < j2) && (j1 > i))
j = j1;
else
j = j2;
s = Microsoft.VisualBasic.Strings.Mid(s,1,i-1) + "http://www.go.go/default.aspx?url=" + Server.UrlEncode(Microsoft.VisualBasic.Strings.Mid(s,i,j-i)) + Microsoft.VisualBasic.Strings.Mid(s,j);
Этот код изменит первый http://
реальный адрес формы на то, что вы хотите.
Вы можете создать цикл while и повторить его, чтобы заменить каждую ссылку.(не забудьте исключить http://www.go.go/default.aspx?
!
Обратите внимание, что моему коду могут потребоваться небольшие изменения (например, i+1
вместо i
или что-то подобное!)
РЕДАКТИРОВАТЬ: Этот способ имеет некоторые проблемы, например, он не поддерживает внутренние ссылки. Вы должны искать теги (например, <a
) и обрабатывать внутренние ссылки внутри него (до >
).