Nachdem ich den vorherigen Artikel in PHP mit der Übersetzungs-API von Google geschrieben hatte, wollte ich plötzlich eine ASP-Klasse erstellen, damit Asp-Benutzer sie verwenden können. Dann fing ich an zu schreiben und stellte fest, dass ich viel über Asp vergessen hatte. Zum Beispiel ist das Thema und die Idee genau das gleiche wie im C#-Artikel, ich habe es nur in die ASP-Implementierungsmethode konvertiert. Schauen Sie sich den Code direkt an:
Kopieren Sie den Codecode wie folgt:
Klasse GoogleTranslator
subClass_Initialize()
RURI=http://translate.google.com/translate_t?langpair={0}&text={1}
Sub beenden
Private Opt_ '
Eigentum erhalten Opt
Opt=Opt_
End-Eigenschaft
Eigenschaft Let Opt(Opt_s)
Opt_=Opt_s
End-Eigenschaft
Privater RURI
Funktion AnalyzeChild(patrn,texts,IPos)
Dimmen Sie regEx, Match, Matches
Setze regEx = New RegExp
regEx.IgnoreCase = true
regEx.Global = True
regEx.Pattern = Muster
regEx.Multiline = True
DimRetStr
Set Matches = regEx.Execute(texts)
If(Matches.Count > 0)Then RetStr= Matches(0).SubMatches(IPos)
AnalyzeChild=RetStr
Setze regEx =Nothing
Funktion beenden
Funktion getHTTPPage(url)
dim objXML
set objXML=server.createobject(MSXML2.XMLHTTP)' Definition
objXML.open GET,url,false'open
objXML.send()'send
Wenn objXML.readystate<>4 dann
Exit-Funktion
Ende wenn
getHTTPPage=BytesToBstr(objXML.responseBody)
set objXML=nothing'close
Wenn err.number<>0, dann err.Clear
Funktion beenden
Funktion BytesToBstr(body)
dim objstream
set objstream = Server.CreateObject(adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.Öffnen
objstream.Text schreiben
objstream.Position = 0
objstream.Type = 2
objstream.Charset = utf-8
„Konvertieren Sie die ursprüngliche Standard-UTF-8-Kodierung in die GB2312-Kodierung. Andernfalls führt die direkte Verwendung von XMLHTTP zum Aufrufen einer Webseite mit chinesischen Zeichen zu verstümmeltem Code.“
BytesToBstr = objstream.ReadText
objstream.Schließen
set objstream = nichts
Funktion beenden
Öffentliche Funktion GetText(str)
If(isempty(str)) Then Exit Function
Dim newUrl,Rs
newUrl=Replace(Replace(RURI,{0},Server.URLEncode(Opt)),{1},Server.URLEncode(str))
Rs=getHTTPPage(newUrl)
GetText = AnalyzeChild((<div id=result_box dir=ltr>)([?:/s/S]*?)(</div>),Rs,1)
Funktion beenden
Unterklasse_Terminate
Sub beenden
Unterricht beenden
Dann bei Verwendung:
Kopieren Sie den Codecode wie folgt:
DimObj
Setze Obj = neuer GoogleTranslator
Obj.Opt=zh-CN|en
Response.write(Obj.GetText(us))
Dann ist es soweit. Da alle Google-Produkte im UTF-8-Format vorliegen, wird diese ASP-Datei im UTF-8-Format gespeichert und am Anfang hinzugefügt:
<%@ LANGUAGE=VBScript CodePage=65001%>
<%Option explizit
'... Kopieren Sie meinen Code oben
Das ist es.