2013-10-28 1 views
2

좋아, PHP 단순 HTML DOM 파서를 사용하여 "웹 사이트 동원 자"를 만들고 싶습니다. 본 단계에서, I는 모두 'UL'및 'DIV'태그 및 모든 '표'요소 PHP를 사용하여 모든 ul 및 li 태그를 div로 바꾸는 방법 간단한 HTML DOM Parser?

  • 변화에 '리'태그

    1. 변화 대 원하는 (예를 들어 테이블, TR, TD, 일) div로. 첫 번째 문제의 해결 방법은 다음과 같습니다.

    $html=new new simple_html_dom(); 
    $html>load_file($sourceurl); 
    
    $div="div"; 
    foreach ($html->find('ul') as $element) { 
    $element=$div; 
    } 
    

    어색해 보이지만 다른 해결책을 찾을 수 없습니다. preg_match을 사용하는 것이 바람직하지 않지만 원하는 출력을 줄 수 있는지는 알 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.

  • +0

    +1 정규식 대신 DOM 파서를 사용합니다. – Toto

    +0

    ** PHP 단순 HTML DOM 파서 **를 사용하여'ul' 태그를'div' 태그로 변경할 수 있습니까? 그렇다면 여기에 무엇을 놓치고 있습니까? – leodeep

    답변

    2

    것이 가능하다 :

    $html=new new simple_html_dom(); 
        $html>load_file($sourceurl); 
    
        foreach ($html->find('ul') as $element) { 
        $element->innertext = "<div>".$element->innertext."</div>";  
        } 
    

    은 물론 당신이 테이블과 동일한 기능을 수행 할 수 있습니다. doucmetation에 더보기 : Simple HTML DOM Parser Manual

    3
    $html=new new simple_html_dom(); 
    $html>load_file($sourceurl); 
    
    $replace="ul,li,table,tr,td,th"; 
    foreach($html->find($replace) as $key=>$element){ 
        $html->find($replace,$key)->outertext="<div>".$element->innertext."</div>" 
    } 
    

    이 그 태그의 내용을 변경하지 않고 $html DOM에서 <div>$replace 배열 모든 요소를 ​​대체한다. 모든 것은 $html DOM에 저장됩니다.

    당신도 참고로 $element를 사용하여, $html 아무것도 변경 $element를 사용하지 못할 볼 수 있습니다, 그래서 당신이 직접 $html에 액세스해야한다.