我在我的php项目中使用TinyButStrong正常工作:我可以用自定义文本替换odt模板文件的一部分,但现在我想在其中插入一些内容。问题是它插入了html代码,也没有插入解释版本。
有没有解决方案?
答案 0 :(得分:0)
答案可在TBS论坛上找到:
http://www.tinybutstrong.com/forum.php?thr=2950
由于您具有HTML到ODT的转换功能,因此您可以使用自定义PHP函数和参数“onformat”在OpenTBS中实现它。
以下功能仅转换换行符:
function f_html2odt($FieldName, &$CurrVal) {
$CurrVal= str_replace('<br />', '<text:line-break/>', $CurrVal);
}
在DOCX模板中使用:
[b.thetext;onformat=f_html2odt]
关于将HTML转换为ODT: 将格式化文本转换为另一种格式化文本通常是一场噩梦。这就是为什么在格式化数据时存储纯数据是明智的。 将HTML转换为ODT非常困难,因为格式化的结构不同。
例如,粗体或斜体可以使用<b>
和<i>
在HTML中完成,而在ODT中需要样式。
在HTML中,您可以使用不含<p>
的文本,但在ODT中,所有文本必须至少在<text:p>
内。