douhu2131 2019-02-02 16:55
浏览 46

count():参数必须是数组或实现Countable的对象 - phpWord

I am trying to output html to word using phpWord. However, something is weird. It works fine for the following code:

$content = '';
    $content .= '<table><tr><th>Header</th><td>Content</td></tr></table>';
    $content .= '<ul><li>Bullet</li><ul><li>Bullet</li></ul></ul>';
    $content .= '<ol><li>Bullet</li></ol>';
    Html::addHtml($newSection, $content);

But does not work for this:

 $content = '';
    $content .= '<table><tr><th>Header</th><td>Content</td></tr></table>';
    $content .= '<p>Bullet</p>';
    $content .= '<p>Cat</p>';
    Html::addHtml($newSection, $content);

and produces the error mentioned on the title.

UPDATE

This error is generated from this file: \vendor\phpoffice\phpword\src\PhpWord\Shared\Html.php

In this method:

 private static function parseChildNodes($node, $element, $styles, $data)
{
    if ('li' != $node->nodeName) {
        $cNodes = $node->childNodes;
        if (count($cNodes) > 0) {
            foreach ($cNodes as $cNode) {
                if ($element instanceof AbstractContainer) {
                    self::parseNode($cNode, $element, $styles, $data);
                }
            }
        }
    }
}

But it only happens when using the <p> html tag and it's fine with all other tags.

I also came across this link: addHtml() does not support tags inside list tags. #521

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 BP神经网络控制倒立摆
    • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
    • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
    • ¥30 Unity接入微信SDK 无法开启摄像头
    • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
    • ¥20 cad图纸,chx-3六轴码垛机器人
    • ¥15 移动摄像头专网需要解vlan
    • ¥20 access多表提取相同字段数据并合并
    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算