simple_html_dom найти HTML внутри скрипта
Справочная информация: Мы используем шаблоны руля. Маленькие, которые нужны только один раз, мы вставили внутри скрипта, внутри HTML. HTML предварительно переведен, один раз на выпуске.
Проблема:
С simple_html_dom мы находим все соответствующие тексты. Кроме тех, кто в теге script!
Пример "нормальный"
<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>
Мы находим все соответствующие тексты для каждого класса:
$html = new simple_html_dom();
$html->load($strHTML, true, false);
$HTMLElemente = $html->find('.ues');
Все они найдены, независимо от того, насколько глубоко они переплетены внутри форм и модальностей. Но UES внутри тега script не найдены. Это всегда чистый, чистый 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;
}
}