【问题标题】:from sql, php generating msWord need to show a carriage return?从sql、php生成msWord需要显示回车吗?
【发布时间】:2018-03-09 22:58:09
【问题描述】:

我的 PHP 生成一个 Word 文档,但它不会呈现回车。我的 CKEditor 将回车转换为任一,

<br>, or <div>asdf</div>

创建 Word 文档时,它会显示那些 HTML 标记,所以我将它们去掉。我可以使用什么替换代码、字符、ascii 或标记,以便在呈现页面时,它会像在编辑器中一样显示文本?

当前示例 - 如果您有文本“不要跳下”[然后按 Enter,以便下一个单词在其下方]...

“悬崖。”相反,目前,它被保存到 SQL 中:

Don't jump off the <br>cliff.
Don't jump off the <div>cliff</div>.

...取决于使用的浏览器。在 msWord 输出中,任何留在内容中的标签 [strip_tags 函数的例外] 都会在 msWord 中按字面意思显示。或者,如果我用 ASCII 替换标签 它也从字面上显示了这一点。不确定这是否有帮助,但这是在我的 php report_generator.php 文件的顶部定义的:

require_once '/var/www/PhpWord/src/PhpWord/Autoloader.php';
\PhpOffice\PhpWord\Autoloader::register();
include "/var/www/ncpcphp/NCPC_PHP_Functions.php";
DEFINE("WRITEtoFDOCS", "NO");
DEFINE("FDOCSDIRECTORY", "Contract Attachments");
DEFINE("MIMETYPE","application/vnd.openxmlformats-officedocument.wordprocessingml.document" );

帮助 - 我可以使用什么来使输出显示回车符?

【问题讨论】:

  • 如何将 html 添加到您的 word 文档中?
  • 我不懂 php,但 Word 使用 ANSI 字符 13 作为新段落。在 VB 语言中,我使用 Chr(13) 作为字符串值的一部分。在 C# \n 或 \r 作品。如果 php 类似于 C#,那么:Don't jump off the\ncliff
  • 你会在stackoverflow.com/questions/4238433/…找到我给你确认的信息

标签: ms-word carriage-return phpword


【解决方案1】:

谢谢你,辛迪。您的答案是解决方案的一部分。我的 CKEditor 将回车保存为

<br>, <br />, or <div></div>

取决于使用的浏览器 Chrome[div] 或 Firefox[br] - 进入我的 msSQL。但是,如果我的编辑器打开了“输入过滤器”[keycode-13] 以防止有人输入编辑 [[Placeholder]](ckeditor 只读插件),那么保存的编辑器文本会删除 Enter。所以,我这样做了:保留在输入过滤器中,因为它是必要的,然后在文本回车保存为 br 或 div 后,当我运行我的报告生成器时,我替换

<br>, <br />, and <div></div> 

像你说的那样用“\n”。然后我像这样分解文本变量:

$show_cad = explode("\n", $show_cad);
    foreach($show_cad as $line) {
       $section->addText(htmlspecialchars($line));
    }

编辑器中需要过滤掉 Enter 的代码只有在 [[Placeholder]] 插件中按下 Enter 时比较复杂,我主要是从 CKEditor 自己获得的。他们要求我不要发布他们的完整解决方案,但如果您愿意,我可以向您展示其中的一部分。基本上,我必须注册占位符小部件。然后当按下 Enter 时,它会检查上下文是否带有占位符。如果是这样,过滤 Enter [然后它会从保存的编辑器文本中消失],但如果在其他地方按下 Enter,它会被保存并正确使用。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多