}
$doc = new DOMDocument();
+ libxml_use_internal_errors(true);
$doc->loadHTML(mb_convert_encoding('<body>'.$matchedPage->html.'</body>', 'HTML-ENTITIES', 'UTF-8'));
$matchingElem = $doc->getElementById($splitInclude[1]);
if ($matchingElem === null) {
$innerContent .= $doc->saveHTML($childNode);
}
}
+ libxml_clear_errors();
$html = str_replace($matches[0][$index], trim($innerContent), $html);
}
$pageView->assertDontSee(htmlentities($script));
}
+ public function test_duplicate_ids_does_not_break_page_render()
+ {
+ $this->asEditor();
+ $pageA = Page::first();
+ $pageB = Page::query()->where('id', '!=', $pageA->id)->first();
+
+ $content = '<ul id="bkmrk-xxx-%28"></ul> <ul id="bkmrk-xxx-%28"></ul>';
+ $pageA->html = $content;
+ $pageA->save();
+
+ $pageB->html = '<ul id="bkmrk-xxx-%28"></ul> <p>{{@'. $pageA->id .'#test}}</p>';
+ $pageB->save();
+
+ $pageView = $this->get($pageB->getUrl());
+ $pageView->assertSuccessful();
+ }
}