PHP: Как вытаскивать содержимое узлов xml при заполнении документа Word средствами библиотеки PHPWord?
Подскажите, пожалуйста!
Получаю в переменную $result xml выдачи Яндекса, отправляю сие безобразие в документ Word методами библиотеки PHPWord:
foreach ($tmp as $key => $value) {
if (is_string($value)) {
/*var_dump(substr($value, 21));*/
$cut = $value;
$output = 'https://yandex.ru/search/xml?user' . urlencode($cut) . 'xxxxxxxxxxxxx';
$result = file_get_contents($output);
$section->addText($result);
$objWriter->save('helloWorld.docx');
sleep(30);
}
Общий xml в переменной $result вставляется.. Выглядит это вот так:
Но такой xml отрывок в документе мне, естественно, не нужен. Я пытаюсь вытащить содержимое отдельных узлов xml и вставить их также в word, без самих тегов, но PHPWord не хочет этого делать.. Что я делаю неправильно? Извлечь содержимое между отдельными тегами пробовал так:
1)
preg_match_all('|<title>(.+)</title>|', $result, $match);
$section->addText($match);
$xml = simplexml_load_string($result);
$section->addText($xml);
Ни тот, ни другой вариант не работает.. Вордовский файл создается, но остается пустым..
Ответы (1 шт):
Лучше пользоваться функционалом DOMDocument. См. https://www.php.net/manual/ru/class.domdocument.php
