2012-11-08 3 views

답변

9

애플리케이션 스크립트에는 DOM이 없다하더라도, 당신은 HTML을 구문 분석하고 일반 텍스트이 방법으로 얻을 수 있습니다 :

function getTextFromHtml(html) { 
    return getTextFromNode(Xml.parse(html, true).getElement()); 
} 

function getTextFromNode(x) { 
    switch(x.toString()) { 
    case 'XmlText': return x.toXmlString(); 
    case 'XmlElement': return x.getNodes().map(getTextFromNode).join(''); 
    default: return ''; 
    } 
} 

getTextFromHtml("hello <div>foo</div>&amp; world <br /><div>bar</div>!"); 

를 호출

"안녕하세요 foo는 반환됩니다 & 월드 바! "

설명하기 위해 두 번째 매개 변수가 "true"인 Xml.parse는 문서를 HTML 페이지로 구문 분석합니다. 그런 다음 문서를 보게됩니다 (누락 된 HTML 및 BODY 요소 등이 누락되어 유효한 XHTML 페이지로 바뀜) 텍스트 노드를 텍스트로 변환하고 다른 모든 노드를 확장합니다.

+0

끝났습니다. 나는이 웹 사이트를 방금 발견했으며 그 웹 사이트의 모든 특수성을 알지 못합니다. 다른 프로그래밍 포럼처럼 작동하지 않습니다. 안녕 –

+1

GAS에서'XML' 클래스를 찾을 수 없습니다. [XMLService] (https://developers.google.com/apps-script/reference/xml-service/) 클래스 만 있습니다. 차이가 있다면 설명해 주시겠습니까? XML 클래스가 구식입니까? –

0

Javascript에서는 내장 함수가 없지만 HTML 태그에 내용을 할당 한 다음 텍스트를 읽을 수 있습니다. 다음은 jQuery 예제입니다.

function htmlDecode(value){ 
    return $('<div/>').html(value).text(); 
} 

실제로 태그를 DOM에 첨부 할 필요는 없습니다. 이것은 새로운 태그를 생성하고 내용을 읽은 다음 버립니다. 바닐라 자바 ​​스크립트에서 몇 가지 추가 라인을 사용하여 매우 유사한 작업을 수행 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. "자바 스크립트"에 대해 이야기하기 때문에 실제로 자바 스크립트를 사용하지는 않습니다. 자바 스크립트처럼 보이는 프로그래밍 언어입니다.하지만 그렇지 않습니다. 이 langage는 자신의 컴퓨터가 아닌 클라우드로 실행될 가능성이 있습니다. 이미 당신의 방법을 시도하지만 그것은 내 경우에는 작동하지 않는 것 같습니다. 이 게시물의 경우 "google-apps-script"라는 태그가있는 사람 및 게시물이 많지 않기 때문에 "google-apps-script"와 "javascript"라는 두 개의 태그를 설정했습니다. 태그 "javascript"로 더 많은 사람들을 찾고 싶습니다. –

관련 문제