일반적인 생각은, HTML의 문자열을 문서 (dom elements의 나무) 다음 정보를 추출하는 데 횡단로를 구문 분석하는 것입니다. 링크는
을했다 경우
<a href="/browse/post/something/"><b>something</b> else</a>
먼저 다음 앵커 태그를 찾기 위해 트리를 탐색 :
anchor.textContent // returns "something else"
이있을 경우에도, 요소에서 텍스트를 추출 할 간단합니다 트리 아래에 텍스트가 포함 된 다른 요소. 이것은 또한 정규식 예제보다 강력합니다. 누군가가 클래스 속성을 앵커에 추가했다고 가정하면, 수용된 응답의 정규식은 앵커 태그와 더 이상 일치하지 않을 것입니다. 그러나 순회 기반 솔루션은 여전히 작동 할 것입니다. 간단한 경우
, 당신은 다음을 통과, 다음 HTML 문자열로
innerHTML
을 설정 사업부를 만들 수 있습니다
var html = '<p><a href="/browse/post/">Lorem</p> <p>Ipsum</p></a>';
var div = document.createElement("div");
div.innerHTML = html;
var anchors = div.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
console.log(anchors[i].textContent);
}
이의 더 정교한 버전은 jQuery(string) function에 패키지되어 제공됩니다.
var html = '<div><p><a href="/browse/post/">Lorem</p> <p>Ipsum</p></a></div>';
jQuery(html).find("a").each(function() {
console.log(jQuery(this).text());
});
라이브 예 : http://jsfiddle.net/ygcFM/
에 http : // 유래.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 # 1732454 – asawyer
읽기 쉽도록 항상 리터럴 정규 표현식을 선호합니다. ''여기에 문자열 ".match (/ match me/i)가 있습니다." – tomfumb
이런 식으로 XML 파서를 사용하는 방법에 대해 더 알고 싶습니다. 기본적으로 기존 스크립트를 수정하여 필요한 작업을 수행하려고합니다. ** 올바른 ** 방식으로 수행하는 greasemonkey 스크립트의 좋은 예가 있습니까? – spazzed