<?php
$html = '
<footer class="footer text-muted">
</footer>
<script>
const dataModel = {"application":{"applicationId":1234, /* ... */ }};
</script>
<script type="text/javascript" src="/Personal/Portal/ab.js"></script>
';
$dom = new DOMDocument();
libxml_use_internal_errors(true); // Suppress warnings for invalid HTML
$dom->loadHTML($html);
libxml_clear_errors();
// Use XPath to extract the script containing dataModel
$xpath = new DOMXPath($dom);
$dataModelScript = $xpath->query('//script[contains(text(), "dataModel")]')->item(0);
if ($dataModelScript) {
$scriptContent = $dataModelScript->textContent;
preg_match('/const dataModel = (\{.*\});/', $scriptContent, $matches);
if (isset($matches[1])) {
$dataModelJson = $matches[1];
$dataModel = json_decode($dataModelJson, true);
print_r($dataModel);
}
}
?>