Après avoir écrit l'article précédent en PHP à l'aide de l'API de traduction de Google, j'ai soudain eu envie de créer une classe ASP afin que les utilisateurs asp puissent l'utiliser. Ensuite, j'ai commencé à écrire et j'ai découvert que j'avais beaucoup oublié l'asp. Par exemple, le thème, l'idée est exactement la même que celle de l'article C#, je viens de le convertir en méthode d'implémentation ASP. Regardez directement le code :
Copiez le code comme suit :
Classe GoogleTraducteur
sousClass_Initialize()
RURI=http://translate.google.com/translate_t?langpair={0}&text={1}
Fin du sous-marin
Option privée_'
Propriété Obtenir Opter
Opt=Opt_
Propriété de fin
Propriété Let Opt(Opt_s)
Opt_=Opt_s
Propriété de fin
RURI privé
Fonction AnalyzeChild (motif, textes, IPos)
Dim regEx, Match, Correspondances
Définir regEx = Nouvelle RegExp
regEx.IgnoreCase = vrai
regEx.Global = Vrai
regEx.Pattern = modèle
regEx.Multiline = Vrai
DimRetStr
Définir les correspondances = regEx.Execute (textes)
Si (Matches.Count > 0) Alors RetStr = Matches (0). SubMatches (IPos)
AnalyseEnfant=RetStr
Définir regEx = Rien
Fonction de fin
Fonction getHTTPPage(url)
obscur objXML
définir la définition de objXML=server.createobject(MSXML2.XMLHTTP)
objXML.open GET,url,false'ouvert
objXML.send()'envoyer
Si objXML.readystate<>4 alors
fonction de sortie
Fin si
getHTTPPage=BytesToBstr(objXML.responseBody)
set objXML = rien de proche
si err.number<>0 alors err.Clear
Fonction de fin
Fonction BytesToBstr(corps)
objstream obscur
définir objstream = Server.CreateObject (adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.Ouvrir
objstream.Écrire le corps
objstream.Position = 0
objstream.Type = 2
objstream.Charset = utf-8
'Convertissez l'encodage UTF-8 par défaut d'origine en encodage GB2312, sinon l'utilisation directe de XMLHTTP pour appeler une page Web avec des caractères chinois entraînera un code tronqué.
BytesToBstr = objstream.ReadText
objstream.Fermer
définir objstream = rien
Fonction de fin
Fonction publique GetText(str)
If(isempty(str)) Then Quitter la fonction
Dim newUrl,Rs
newUrl=Replace(Replace(RURI,{0},Server.URLEncode(Opt)),{1},Server.URLEncode(str))
Rs=getHTTPPage(nouvelleUrl)
GetText = AnalyseChild((<div id=result_box dir=ltr>)([?:/s/S]*?)(</div>),Rs,1)
Fonction de fin
Sous-classe_Terminate
Fin du sous-marin
Fin du cours
Puis lors de l'utilisation :
Copiez le code comme suit :
DimObj
Définir Obj = nouveau GoogleTranslator
Obj.Opt=zh-CN|fr
réponse.write(Obj.GetText(us))
Alors c'est tout. Il convient de noter que, comme tous les produits de Google sont au format UTF-8, ce fichier asp est enregistré au format UTF-8 et ajouté au début :
<%@ LANGUAGE=VBScript CodePage=65001%>
<%Option explicite
'... Copiez mon code ci-dessus
C'est ça.