#php #xml #dom
#php #xml #dom
Вопрос:
Я использую расширение DOM PHP5.3 для анализа некоторого xml-документа с тегом <title>, подобным этому:
<заголовок> некоторый текст <слово> ключевоеслово</word> некоторый текст</title>
Я хочу получить результат из тега <title> с определенными тегами внутри него (я хочу знать ключевые слова, поэтому я хочу сохранить тег <word> внутри тега <title>). Результат в этом случае должен быть примерно таким:
некоторый текст [word] ключевое слово[ / word] некоторый текст
Я делаю некоторый код:
$title=$doc->getElementsByTagName('title')->item(0)->nodeValue;
$title должен содержать некоторый результат. Но я получаю только текст без каких-либо тегов внутри него, и теперь я не знаю, где находятся ключевые слова.
ключевое слово some text, some text
Я не знаю, как сохранить тег <word>! Как я мог бы получить результат, подобный некоторому текстовому ключевому слову [word][ / word] some text из расширения DOM?
Спасибо за помощь.
Комментарии:
1. Вы просматриваете
$title
через браузер? помните, что ваш браузер попытается отобразить теги и пропустить неизвестные. Попробуйте сделатьecho htmlentities($title)
принудительное отображение тегов как есть.
Ответ №1:
Если вы хотите все сами теги, всегда есть saveXML
:
http://us3.php.net/manual/en/domdocument.savexml.php
Вы передаете нужный узел, и он возвращает вам строку, хотя <title>
начальный и конечный теги будут включены. Также он будет включать атрибуты.
Комментарии:
1. $parse_xml-> saveXML($doc->getElementsByTagName(‘title’)->item(0));