- sprintf: documentation ( source)
<?php
$html = '<p>àâäçß</p>';
$wrapper = '<html><head><meta charset="unicode-1-1-utf-8" /></head><body>%s</body></html>';
$dom = new DOMDocument;
$dom->loadHTML(sprintf($wrapper, $html), \LIBXML_NOWARNING);
$result = '';
$childNodes = $dom->getElementsByTagName('body')->item(0)->childNodes;
foreach ( $childNodes as $childNode ) {
$result .= $dom->saveHTML($childNode);
}
echo $result;