simple_html_dom在脚本中找到HTML

时间:2017-09-26 07:58:18

标签: find simple-html-dom

背景:我们使用手柄模板。小的,只需要一次,我们在HTML内部插入脚本。 HTML已预翻译,一旦发布。

问题:

使用simple_html_dom,我们可以找到所有相关文本。 除了那些在脚本标签中的人!

示例"正常"

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

脚本内部示例

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

我们发现每个班级的所有相关文本 ues

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

找到所有 ues ,无论它们在表格和模态中交错多深。但是找不到脚本标记中的 ues 。它始终是纯净,干净的HTML,我们能做什么?

是的,我发现了类似的问题,有些没有充分记录,没有相关的解决方案。

1 个答案:

答案 0 :(得分: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;
  }
}