php
  • regex
  • 2013-07-17 4 views -1 likes 
    -1

    내가 지금 여기에 부모 div의이 <div id="t1" 의미, 내용PHP 기본 정규식

    <div id="t1" class="tt" tag='t2"><div class="t3">tee</div><a href='#'>test</a><span>test</span><div>asdf</div></div> 
    
    <div id="t1" class="tt" tag='t2"><div class="t3">tee</div><a href='#'>test</a><span>test</span><div>asdf</div></div> 
    

    내가 부모 DIV의 내용을 얻을 수는 preg_match를 사용하려고 이런 종류의를했습니다. preg_match를 사용합니까? 아니면 해당 div 사이의 데이터를 가져 오는 다른 방법이 있습니까?

    +5

    을 (http://stackoverflow.com/a/1732454/57191) – cwallenpoole

    +1

    너 뭔가 해봤 니? 질문 제목에 "사전"을 추가하는 것만으로는 독자적인 연구 없이는 열심히 답변 할 수있는 자격이 부여되지 않습니다. – mario

    답변

    1

    는 정규 표현식으로 HTML을 구문 분석하지 마십시오 :

    Using regular expressions to parse HTML: why not?http://simplehtmldom.sourceforge.net/

    +1

    +1 보존을 위해 – naomik

    5

    같은 PHP DOM 라이브러리를 사용하여 정규 표현식이 작업에 대한 잘못된 도구입니다. 당신은 DOM 파서를 원한다.

    $dom = new DOMDocument; 
    $dom->loadHTML($html); 
    
    $t1 = $dom->getElementById('t1'); 
    echo $t1->nodeValue; 
    

    이 단지 당신이 innerHTML을 원하는 경우,이 시도, 당신의 텍스트를 반환합니다 [! 조랑말]

    $dom = new DOMDocument; 
    $dom->loadHTML($html); 
    
    $t1 = $dom->getElementById('t1'); 
    
    $innerHTML = ''; 
    foreach($t1->childNodes as $child){ 
        $innerHTML .= $dom->saveHTML($child); 
    } 
    echo $innerHTML; 
    
    관련 문제