2017-09-26 4 views
0

배경 : 우리는 핸들 막대 템플릿을 사용합니다. 한 번만 필요한 작은 것들은 HTML 내부에 스크립트를 삽입했습니다. HTML은 사전에 한 번 번역됩니다.simple_html_dom 스크립트 내에서 HTML 찾기

문제 : simple_html_dom와

우리는 모든 관련 텍스트를 찾을 수 있습니다. 스크립트 태그에있는 사용자는 제외! ,이 발견

$html = new simple_html_dom(); 
$html->load($strHTML, true, false); 
$HTMLElemente = $html->find('.ues'); 

모든 단말 :

예 "정상"

<script id="template-Liste-Anmerkungen" type="text/x-handlebars-template"> 
    <h5 class="ues mt-1">Anmerkung ändern {bezeichnung}</h5> 
</script> 

스크립트

내부

<h5 class="ues mt-1">Anmerkung ändern {bezeichnung}</h5> 

예 우리는 클래스에 따라 모든 관련 텍스트 단말을 찾을 수 아무리 깊이 형식과 모달에 인터레이스되어 있습니다. 그러나 ues 스크립트 태그 내에 없습니다. 항상 순수하고 깨끗한 HTML입니다. 어떻게해야합니까?


그래, 나는 비슷한 질문을하고, 어떤 것은 충분히 문서화되지 않았으며, 아무도 적절한 해결책이 없었습니다.

답변

1

스크립트 태그를 반복하고 내용을 별도로로드하려고합니다.

$str = <<<EOF 
<script id="template-Liste-Anmerkungen" type="text/x-handlebars-template"> 
    <h5 class="ues mt-1">Anmerkung ändern {bezeichnung}</h5> 
</script> 
EOF; 

$doc = str_get_html($str); 
foreach($doc->find('script') as $script){ 
    $sub_doc = str_get_html($script->innertext); 
    foreach($sub_doc->find('.ues') as $el){ 
    echo $el; 
    } 
} 
+0

고마워요! 귀하의 대답과 마찬가지로, 나는 새 simple_html_dom()에 스크립트 내부 문자열을로드; 그것은 작동합니다! 큰! –