Как сохранить HTML в XML-View в CakePHP 3.8? - PullRequest
0 голосов
/ 30 октября 2019

В настоящее время я работаю над REST API, который должен быть доступен через XML. Некоторые из полей содержат HTML, который конвертируется при выводе, например, с помощью htmlspecialchars (). При использовании JSON HTML сохраняется, но мне нужно предоставить XML.

Есть ли способ сохранить HTML? Я знаю, что должен использовать <[CDATA []]> тогда, но простое добавление его вручную не поможет, конечно, оно также будет преобразовано.

Мой пример кода:

public function view() {
  $output = [
    'item' => [
      'name' => 'Foobar',
      'content' => '<p><b>foo</b>bar</p>'
    ]
  ];

  $this->set(compact('output'));
  $this->set('_serialize', 'output');
}

Вывод при получении данных из API:

<?xml version="1.0" encoding="UTF-8"?>
<item>
  <name>Foobar</name>
  <content>&lt;p&gt;&lt;b&gt;foo&lt;/b&gt;bar&lt;/p&gt;</content>
</item>

Я хочу, чтобы это выглядело так:

<?xml version="1.0" encoding="UTF-8"?>
<item>
  <name>Foobar</name>
  <content><[CDATA[<p><b>foo</b>bar</p>]]></content>
</item>
...