Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter dompdf:无效字符错误_Php_Codeigniter_Dompdf - Fatal编程技术网

Php Codeigniter dompdf:无效字符错误

Php Codeigniter dompdf:无效字符错误,php,codeigniter,dompdf,Php,Codeigniter,Dompdf,当我尝试打印pdf文件时,出现以下错误: An uncaught Exception was encountered Type: DOMException Message: Invalid Character Error Filename: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/lib/html5lib/TreeBuilder.php Line Number: 31

当我尝试打印pdf文件时,出现以下错误:

An uncaught Exception was encountered

Type: DOMException

Message: Invalid Character Error

Filename: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/lib/html5lib/TreeBuilder.php

Line Number: 3191

Backtrace:

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/lib/html5lib/TreeBuilder.php
Line: 3191
Function: setAttribute

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/lib/html5lib/TreeBuilder.php
Line: 1493
Function: insertElement

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/lib/html5lib/Tokenizer.php
Line: 2456
Function: emitToken

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/lib/html5lib/Tokenizer.php
Line: 1102
Function: emitToken

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf/src/Dompdf.php
Line: 470
Function: parse

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/helpers/dompdf_helper.php
Line: 26
Function: loadHtml

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/application/controllers/admin/Estimates.php
Line: 136
Function: pdf_create

File: /home/ireto/domains/ireto.be/public_html/madicbelgium/index.php
Line: 293
Function: require_once
这是我在第3191行的代码 ->


如果遇到类似
的错误,遇到未捕获的异常
最好的方法是实际捕获异常,因为您可以在
异常

下面的代码片段应该符合我的意思

private function insertElement($token, $append = true) {

    try
    {
        $el = $this->dom->createElementNS(self::NS_HTML, $token['name']);

        if (!empty($token['attr'])) {
            foreach ($token['attr'] as $attr) {
                if (!$el->hasAttribute($attr['name']) && preg_match("/[^A-Za-z0-9]/u", $attr['name'])) {
                    $el->setAttribute($attr['name'], $attr['value']);
                }
            }
        }
        if ($append) {
            $this->appendToRealParent($el);
            $this->stack[] = $el;
        }



        return $el;
    }
    catch (DOMException $e)
    {
        echo '<strong>Errormessage:</strong>'.$e->getMessage().'<br />';
        echo $e->getTraceAsString();

    }
}

唯一需要但缺少的是属性的
名称
@
setAttribute
。。。(很可能您的属性名称无效…@sintakonte我真的不明白问题出在哪里,我在发票付款上使用相同的脚本,如果我做相同的处理,一切都正常-发生此错误的属性名称是什么?我很确定你的属性有一个无效的名称-所以发布它-因为否则没有人能帮助你..pro-1是我的atribute@Sintakonten的名称不确定这是否是正确的-看看@my sandbox示例。。。只有在声明无效的ATAttribute名称时才会引发此错误-如果删除属性前面的
1
,则效果良好-因此我假设您的属性名称是其他名称,请查看@your exception您应该能够看到确切的错误-如我在示例中所示
private function insertElement($token, $append = true) {

    try
    {
        $el = $this->dom->createElementNS(self::NS_HTML, $token['name']);

        if (!empty($token['attr'])) {
            foreach ($token['attr'] as $attr) {
                if (!$el->hasAttribute($attr['name']) && preg_match("/[^A-Za-z0-9]/u", $attr['name'])) {
                    $el->setAttribute($attr['name'], $attr['value']);
                }
            }
        }
        if ($append) {
            $this->appendToRealParent($el);
            $this->stack[] = $el;
        }



        return $el;
    }
    catch (DOMException $e)
    {
        echo '<strong>Errormessage:</strong>'.$e->getMessage().'<br />';
        echo $e->getTraceAsString();

    }
}
Errormessage: Invalid Character Error

#0 [...][...](7): DOMElement->setAttribute('1pro-1', 'someValue')
#1 {main}DOMException Object