Символы в моем HTML, сохраненные из DOMdocument, экранируются - PullRequest
0 голосов
/ 03 февраля 2012

У меня раздражающая проблема с использованием PHP DOMdocument.Я загрузил HTML и изменил некоторые атрибуты элемента.Я хочу сохранить измененный HTML и вывести его.Странно то, что когда я использую ->saveHTML() или ->saveXML(), косые черты моих закрывающих тегов становятся экранированными.Я мог бы удалить экранирование с помощью регулярных выражений, но я хотел бы знать, есть ли какой-нибудь более чистый способ ...

libxml_use_internal_errors(true);
            $dom = new DOMDocument();
            $dom->loadHTML ($roosterHTML);
            $dom->preserveWhiteSpace = false;
            libxml_clear_errors();
            libxml_use_internal_errors(false);

            $tables = $dom->getElementsByTagName('table');
            $cols = $tables->item(0)->getElementsByTagName('td');
            $name = preg_replace("/(\\n|\\r| )/", "", $cols->item(3)->nodeValue);
            $sirname = preg_replace("/(\\n|\\r| )/", "", $cols->item(2)->nodeValue);
            $class = preg_replace("/(\\n|\\r| )/", "", $cols->item(1)->nodeValue);
            $header =  "Rooster van $name $sirname ($class)";

            $rooster = $tables->item(1);
            $firstRow = true;
            foreach ($rooster->getElementsByTagName('tr') as $row) {
                if ($firstRow) {
                    $firstRow = false;
                    continue;
                }
                $firstCol = true;
                foreach ($row->getElementsByTagName('td') as $col) {
                    if ($firstCol) {
                        $firstCol = false;
                        continue;
                    }
                    $text = $col->nodeValue;
                    $col->setAttribute('style','background-color:#FF0');
                    //$return.= $text;
                }
            }

            $rooster = $dom->saveXML($rooster);

Тестирование (просто нажмите кнопку Отправить, чтобы отправить значение POST): http://bit.ly/ymK3DA

1 Ответ

1 голос
/ 03 февраля 2012

Нет, побег вызван json
что означает, что эта страница не выводит HTML, а представляет собой простой текст в формате json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...