0

我在我的 php 项目中使用 TinyButStrong 正常工作:我可以用自定义文本替换部分 odt 模板文件,但现在我想在其中插入一些内容。问题是它插入了 html 代码或解释版本。

有什么解决办法吗?


当过滤器显示 TRUE 时,它会过滤掉,AFAIK。所以,你可能应该有

if ($node_uid == $uid) {
  return TRUE;
}
4

1 回答 1

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 非常困难,因为格式的结构不同。

例如,粗体或斜体可以在 HTML 中使用<b>and完成<i>,而您需要 ODT 中的样式。<p>在 HTML中,您可以有没有<text:p>.

于 2012-10-04T22:09:28.523 回答