Я извлечение HTML из Smarty шаблон и нужно, чтобы очистить его (просто хочу, чтобы удалить лишние пробелы, и формат/Отступ HTML красиво), я использую аккуратным, чтобы сделать что-то вроде:Использование Tidy для очистки HTML, содержимое HTML меняется, проблема с кодировкой?
$html = $smarty->fetch('foo.tmpl');
$tidy = new tidy;
$tidy->parseString($html, array(
'hide-comments' => TRUE,
'output-xhtml' => TRUE,
'indent' => TRUE,
'wrap' => 0
));
$tidy->cleanRepair();
return $tidy;
While это работает нормально для английского, многоязычная поддержка, похоже, нарушает это. Например, у меня есть арабские символы в формате $ html, но после аккуратности я возвращаю некоторые неприятные кодировки:
& Ugrave; & Dagger; & Ugrave; „ & Oslash; £ & Ugrave; & dagger; & Oslash; ª & Ugrave; & hellip; & Oslash; ª & Oslash; £ & Ugrave; ƒ & Oslash; ¯ & Oslash; £ & Ugrave; & dagger; & Ugrave; ƒ & Oslash; ª & Oslash; & plusmn; & Ugrave; & Scaron; & Oslash; ¯
Есть ли настройка в порядке, которая будет форматировать HTML, но оставить сам HTML один? Я посмотрел этот пост: PHP "pretty print" HTML (not Tidy), но похоже, что это не сработает, так как я хватаю свой HTML из smarty.
Любые предложения оценены.