我正在使用the Docxpresso library渲染文档。用HTML呈现文本时,ODT文件中的结果将忽略或消除与号“&”。如何修改库,以使其不删除“&”?下面,我留下我使用的代码:
$html = '
<style>
* {font-family: Arial; font-size: 8pt}
</style>
<p style="text-align: center;"><strong><u>MINUTA >> << &&&</u></strong></p>';
$doc = new Docxpresso\createDocument();
$format = '.odt'; //only .odt because I dont have licence
$doc->html(array('html'=>$html, 'encoding' => 'UTF-8'));
$doc->render('sample' . $format);
header('Location: ../creditogarveh/sample'.$format);
我希望归档中的输出为:“ MINUTA >> << &&&”,但实际输出为:“ MINUTA >>”。
答案 0 :(得分:0)
如果要输出为HTML,则必须转义特殊字符<
,>
,&
和"
。使用内置的htmlspecialchars()
函数来执行此操作。
请注意,the heredoc format对于输出大块文本更好,尤其是在处理引号和内插值时。
$value = "MINUTA >> << &&&";
$value = htmlspecialchars($value);
// $value is now "MINUTA >> << &&&"
$html = <<< HTML
<style>
* {font-family: Arial; font-size: 8pt}
</style>
<p style="text-align: center;"><strong><u>$value</u></strong></p>
HTML;
$doc = new \Docxpresso\createDocument();
$format = ".odt";
$doc->html([
"html" => $html,
"encoding" => "UTF-8"
]);
$doc->render("sample$format");
header("Location: ../creditogarveh/sample$format");