Google의 번역 API를 사용하여 PHP로 이전 글을 작성하다 갑자기 ASP 사용자들이 사용할 수 있도록 ASP 클래스를 만들어보고 싶었습니다. 그런 다음 글을 쓰기 시작했고 ASP에 대해 많이 잊어버렸다는 것을 알게 되었습니다. 예를 들어 테마, 아이디어가 C# 글과 똑같아서 그냥 ASP 구현 방식으로 변환했습니다. 코드를 직접 살펴보십시오.
다음과 같이 코드 코드를 복사합니다.
Google번역기 수업
하위클래스_초기화()
RURI=http://translate.google.com/translate_t?langpair={0}&text={1}
서브 끝
개인 Opt_ '
부동산 취득 옵션
선택=선택_
끝 속성
부동산 임대 Opt(Opt_s)
Opt_=Opt_s
끝 속성
프라이빗 루리
함수 AnalyzeChild(patrn,texts,IPos)
Dim regEx, 일치, 일치
regEx = 새 RegExp 설정
regEx.IgnoreCase = true
regEx.Global = 참
regEx.Pattern = 패턴
regEx.Multiline = 참
DimRetStr
일치 항목 설정 = regEx.Execute(texts)
If(Matches.Count > 0)Then RetStr= Matches(0).SubMatches(IPos)
AnalyzeChild=RetStr
regEx =Nothing 설정
기능 종료
함수 getHTTPPage(url)
희미한 objXML
objXML=server.createobject(MSXML2.XMLHTTP)' 정의 설정
objXML.open GET,url,false'open
objXML.send()'send
objXML.readystate<>4인 경우
종료 기능
종료 조건
getHTTPPage=BytesToBstr(objXML.responseBody)
objXML=nothing'close 설정
err.number<>0이면 err.Clear
기능 종료
함수 BytesToBstr(본문)
희미한 객체 스트림
set objstream = Server.CreateObject(adodb.stream)
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write 본문
objstream.위치 = 0
objstream.Type = 2
objstream.Charset = utf-8
'원래 기본 UTF-8 인코딩을 GB2312 인코딩으로 변환합니다. 그렇지 않으면 XMLHTTP를 직접 사용하여 중국어 문자가 포함된 웹페이지를 호출하면 코드가 깨집니다.
BytesToBstr = objstream.ReadText
objstream.Close
objstream = 아무것도 설정하지 않음
기능 종료
공용 함수 GetText(str)
If(isempty(str)) Then 종료 함수
희미한 새 URL, Rs
newUrl=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)
기능 종료
하위 클래스_종료
서브 끝
수업 종료
그런 다음 사용할 때:
다음과 같이 코드 코드를 복사합니다.
DimObj
Obj 설정 = 새로운 GoogleTranslator
Obj.Opt=zh-CN|en
response.write(Obj.GetText(우리))
그러면 그게 다입니다. Google 제품은 모두 UTF-8 형식이므로 이 asp 파일은 UTF-8 형식으로 저장되고 시작 부분에 추가됩니다.
<%@ LANGUAGE=VBScript 코드페이지=65001%>
<%옵션 명시적
'... 위의 코드를 복사하세요
그게 다야.