simple_html_dom 在脚本中找到 HTML

simple_html_dom find HTML inside script

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

问题:

通过 simple_html_dom 我们可以找到所有相关文本。 脚本标签里的除外!

例子"normal"

 <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>

我们根据 class ues:

找到所有相关文本
$html = new simple_html_dom();   
$html->load($strHTML, true, false);
$HTMLElemente = $html->find('.ues');

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


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

您想遍历脚本标签并单独加载内容。

$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;
  }
}