Я нашел несколько сообщений, которые относятся к проблеме, но ни одно из них не решает ее полностью.
Мне нужна функция, которая будет выводить содержимое, преобразуя все специальные символы так же, как и htmlentities (), но с сохранением всех тегов html.
Я пробовал много разных подходов, но, как я уже упоминал выше, ни один из них работает, как ожидалось.
Мне было интересно, можно ли сделать это с помощью PHP-класса DomDocument.
Я попытался сделать это, используя следующее:
$objDom = new DOMDocument('1.0', 'utf-8');
$objDom->loadhtml($content);
return $objDom->savehtml();
который работает, но он также добавляет все структура страницы, т.е.
<head><body> etc.
Мне нужно только преобразовать содержимое переменной $ content и выполнить задание.
Еще одна вещь, о которой стоит упомянуть, это то, что в $ content также могут быть преобразованы некоторые символы в жалобу xhtml - поскольку она происходит из Wysiwyg. Таким образом, он может содержать & и т. Д., Которые также должны быть сохранены.
Кто-нибудь знает, как это сделать с помощью DomDocument - возможно, мне следует использовать другой метод сохранения?
Хорошо, я придумал следующее - не отлично, но отлично справляется с работой:
$objDom = new DOMDocument('1.0', 'UTF-8');
$objDom->loadHTML($string);
$output = $objDom->saveXML($objDom->documentElement);
$output = str_replace('<html><body>', '', $output);
$output = str_replace('</body></html>', '', $output);
$output = str_replace(' ', '', $output);
return $output;
Мы будем очень признательны за любые лучшие идеи.