구문 분석에 필요한 책 Webbots, Spiders 및 Screen Scrapers의 parse_array 함수를 사용하고 있습니다. 그러나 나는이 기능을 조금 수정해야하며 어떻게해야할지 모르겠다.함수 수정에 도움이 필요합니다 (정규식)
기능은 :
function parse_array($string, $beg_tag, $close_tag)
{
preg_match_all("($beg_tag(.*)$close_tag)siU", $string, $matching_data);
return $matching_data[0];
}
작동 방식 :이 처리 할 수 있도록
$html="<div>
afterfirst
<div>nested</div>
this is lost
</div>
<div>div2</div>" ;
$div_array = parse_array($html,"<div", "</div>") ;
echo $div_array[0]. "</br>" ;
//outputs:
<div>
afterfirst
<div>nested</div>
//the line "this is lost" and the last </div> isn't included.
은 기본적으로 기능이 기능을 변경하는 중첩 된 태그
가능한 다룰 수 없다 중첩 태그가있는 경우 즉 다음 닫는 태그에서 멈추는 대신 다른 중첩 된 태그를 추적하고 올바른 닫는 태그 다음에 만 멈춤
도움 말?
감사
편집 : 정규식을 구문 분석 reommended되지 알고, PHP는 DOM과 simplehtmldom하지만,이 구문 분석 배열 기능이 잘 작동이 만이 중첩 된 태그를 처리 할 수 있다면 있다면, 그것은 것 완전한! 그래서이 모든 도움은 크게 감사 할 것입니다. 완전한 해결 방법이 아니라면 일종의 힌트를주세요. 문제에 직면했을 때
자, 이제 정규식을 파싱하기가 어렵습니다. 예를 들어 DOMDocument에서 HTML을로드 할 수 없습니까? 또한 이것이 설교하는 것이라면 책을 보관하십시오. – Wrikken
이것이 정규식을 사용하여 HTML을 구문 분석하지 않는 이유입니다. –
책은 아주 환상적입니다. –