TinyButStrong вставляет html-таблицу внутри odt-файла.

Я правильно работаю с TinyButStrong внутри своего php-проекта: я могу заменить части файла шаблона odt пользовательскими текстами, но теперь я хотел бы вставить некоторые из них внутрь него. Проблема в том, что он вставляет код html, а не интерпретируемую версию.

Есть ли решение?


person linuxatico    schedule 04.10.2012    source источник


Ответы (1)


Ответ можно найти на форуме TBS:

http://www.tinybutstrong.com/forum.php?thr=2950

Поскольку у вас есть функция преобразования HTML в ODT, вы можете реализовать ее в OpenTBS, используя пользовательскую функцию PHP и параметр onformat.

Следующая функция преобразует только разрывы строк:

function f_html2odt($FieldName, &$CurrVal) {
  $CurrVal= str_replace('<br />', '<text:line-break/>', $CurrVal);
}

Используйте в шаблоне DOCX:

[b.thetext;onformat=f_html2odt]

О преобразовании HTML в ODT: Преобразование форматированного текста в другой форматированный текст довольно часто является кошмаром. Вот почему вместо форматированных данных целесообразно хранить чистые данные. Преобразование HTML в ODT довольно сложно, потому что форматирование не имеет такой же структуры.

Например, полужирный шрифт или курсив можно сделать в HTML с помощью <b> и <i>, а вам нужны стили в ODT. В HTML вы можете иметь текст без <p>, в то время как в ODT весь текст должен быть как минимум внутри <text:p>.

person Skrol29    schedule 04.10.2012