[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка в DomDocument
Страницы: 1, 2
zelenuy
:) О та
<?php
header("Content-Type: text/html; charset=utf-8");
$charset1 = '<meta charset = "utf-8">';
$charset2 = '<meta http-equiv="content-type" content="text/html; charset=utf-8">';

$html = <<<L
<!DOCTYPE HTML>
<html>
<head>
<meta charset = "utf-8">
<meta name="description" content="Описание сайта">
</head>
<body id="5">
Hello, World!
</body>
</html>

L;

$html = str_replace($charset1, $charset2, $html);
$ob = new DOMDocument();
$ob->formatOutput = true;
$ob->loadHTML($html);
$str = str_replace($charset2, $charset1, $ob->saveHTML());
echo $str;
?>

Результат:
user posted image
;) Красота
BaNru
$charset1 = '<meta charset = "utf-8">';
А если будет в чужом коде
<meta charset="utf-8">
или как тут на форуме
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
?
zelenuy
BaNru
Надо поставить проверочку smile.gif
А вообще унаследовать дом и допилить его)
BaNru
А почему не регулярку?
Сам же пришел к этому.
zelenuy
BaNru
Можно и так, просто регулярка дольше работает, хотя тут не заметно будет)
zelenuy
С регуляркой
<?php
header("Content-Type: text/html; charset=utf-8");
$charset1 = '<meta charset = "utf-8">';
$charset2 = '<meta http-equiv="content-type" content="text/html; charset=utf-8">';

$html = <<<L
<!DOCTYPE HTML>
<html>
<head>
<meta charset = 'utf-8'>
<meta name="description" content="Описание сайта">
</head>
<body id="5">
Hello, World!
</body>
</html>

L;

$html = preg_replace('|<meta charset.*>|i', $charset2, $html);
$ob = new DOMDocument();
$ob->formatOutput = true;
$ob->loadHTML($html);
$str = preg_replace('|<meta http-equiv=[\'\"]+content-type[\'\"]+.*>|i', $charset1, $ob->saveHTML());
echo $str;
?>
BaNru
Наверное надо всё таки тогда так
|<meta.*charset.*>|isU


И зачем второй раз, что-то не пойму на ночь глядя?
zelenuy
BaNru
Просто с регулярками у меня еще туговато, мало игрался с ними)
Цитата
И зачем второй раз, что-то не пойму на ночь глядя?

unsure.gif Да так делать не чего, я уже надумал как дом допилить)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.