Hola
Aquí te dejo un ejemplo. Es mejorable, pero es lo que se me ha ocurrido al vuelo
Código asp:
Ver original<%
Function LimpiarHref(texto)
Dim objRegExp
Set objRegExp= New RegExp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "(<a[^>]+href\s?=\s?""?)(ht(t)p\:\/\/www\.(?!misitio))([^<]*)("">)([^>]*)([<])(/)*([\w])([>])"
texto = objRegExp.Replace(texto, "<em><span style=""font-size:9px;"">VINCULO ELIMINADO</span></em>")
Set objRegExp = Nothing
LimpiarHref = texto
End Function
Response.Write LimpiarHref("Veamos que vinculos apuntan hacia mi web. Este parece que sí <a href=""http://www.misitio/prueba/prueba1"">http://www.misitio/prueba/prueba1</a>, este otro.... no! así que <a href=""http://www.otrositio/prueba2"">http://www.otrositio/prueba2</a>. Aquí tenemos otro, veamos <a href=""http://www.misitio/prueba"">http://www.misitio/prueba3</a> pues sí, es un vinculo interno. <br/>Parece que viene otro <a href=""http://www.otrositio/prueba/prueba4"">http://www.otrositio/prueba/prueba4</a> por que puede ser spam")
%>
Suerte