Моя цель — создать страницу с таблицей в вики-конфлюэнсе, используя предоставленный REST API, который может быть легко отредактирован пользователями вики с помощью редактора WYSIWYG после создания страницы.
Я разобрал тексты и поместил их в разные категории в массив массивов, а затем сгенерировал из этого html-таблицу (строку), которая отлично работает.
Однако публикация этой необработанной html-таблицы (в $htmlTable) в качестве содержимого в REST API
$data = array("type" => "page", "title" => someTitle,
"space" => array("key" => "$uploadSpace"),
"body" => array("storage" => array("value" => "$htmlTable", "representation" => "storage")));
возвращает ошибку 400 statusCode. Очевидно, потому что ввод не экранирован должным образом с использованием htmlspecialchars
для кодирования строки в html, но как в противном случае создать структурированный ввод, который преобразуется в таблицу html?
Я попытался передать свою html-таблицу с помощью макроса слияния, который отображает html-ввод в таблицу для просмотра:
$data = array("type" => "page", "title" => someTitle,
"space" => array("key" => "$uploadSpace"),
"body" => array("storage" => array("value" => "<ac:structured-macro ac:name=\"html\"><ac:plain-text-body><![CDATA[$htmlTable]]></ac:plain-text-body></ac:structured-macro>", "representation" => "storage")));
Это отображает мою html-таблицу на странице, однако это не соответствует легко редактируемому требованию WYSIWYG, поскольку пользователи вики впоследствии увидят html-код, содержащийся в макросе.
Заранее большое спасибо.