mpdf 错误 - preg_replace():不推荐使用 /e 修饰符,请改用 preg_replace_callback
mpdf error - preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
我正在使用 MPDF 在 codeigniter 中生成 pdf 文件。
我的控制器功能看起来像
function save_pdf($std_id)
{
$data['section1_report']= $this->common_model->get_details('tbl_section1',array('id'=>$std_id));
$html = $this->load->view('reports/section1',$data,true);
// print_r($html);exit;
$this->load->library('pdf');
$pdf = $this->pdf->load();
$pdf->WriteHTML($html);
$pdf->Output();
}
我的 pdf
图书馆是
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class pdf {
function pdf()
{
$CI = & get_instance();
log_message('Debug', 'mPDF class is loaded.');
}
function load($param=NULL)
{
include_once APPPATH.'/mpdf/mpdf.php';
if ($params == NULL)
{
$param = '"en-GB-x","A4","","",10,10,10,10,6,3';
}
return new mPDF($param);
}
}
我想从视图文件 section1
生成 pdf 文件。但是当我调用控制器函数 save_pdf
时,出现如下错误
当我 print_r($html);exit;
时,它显示视图 file.i 中使用 preg_replace_callback
而不是 mpdf/includes/functions.php
中的 preg_replace
的所有内容,但它仍然显示错误像这样
我研究了 mpdf
文档,它在 php 中正常工作。但我想在 Codeigniter
中生成 pdf 文件。
如何解决 mpdf
中的此类错误?如果我可以在 Codeigniter
中使用 mpdf
生成 pdf file
,我将不胜感激。谢谢。
尝试将 functions.php
的第 79 和 80 行替换为:
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
我替换了这些行:
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str);
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str);
这些行:
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
它工作正常。
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str);
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str);
// Remove above and add below code in includes/functions.php
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
// Also comment below line in mpdf.php
$html = preg_replace('/\{DATE\s+(.*?)\}/e',"date('\1')",$html );
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str);
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str);
// Remove above and add below code in includes/functions.php
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
// Also comment below line in mpdf.php
$html = preg_replace('/\{DATE\s+(.*?)\}/e',"date('\1')",$html );
我正在使用 MPDF 在 codeigniter 中生成 pdf 文件。
我的控制器功能看起来像
function save_pdf($std_id)
{
$data['section1_report']= $this->common_model->get_details('tbl_section1',array('id'=>$std_id));
$html = $this->load->view('reports/section1',$data,true);
// print_r($html);exit;
$this->load->library('pdf');
$pdf = $this->pdf->load();
$pdf->WriteHTML($html);
$pdf->Output();
}
我的 pdf
图书馆是
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class pdf {
function pdf()
{
$CI = & get_instance();
log_message('Debug', 'mPDF class is loaded.');
}
function load($param=NULL)
{
include_once APPPATH.'/mpdf/mpdf.php';
if ($params == NULL)
{
$param = '"en-GB-x","A4","","",10,10,10,10,6,3';
}
return new mPDF($param);
}
}
我想从视图文件 section1
生成 pdf 文件。但是当我调用控制器函数 save_pdf
时,出现如下错误
当我 print_r($html);exit;
时,它显示视图 file.i 中使用 preg_replace_callback
而不是 mpdf/includes/functions.php
中的 preg_replace
的所有内容,但它仍然显示错误像这样
我研究了 mpdf
文档,它在 php 中正常工作。但我想在 Codeigniter
中生成 pdf 文件。
如何解决 mpdf
中的此类错误?如果我可以在 Codeigniter
中使用 mpdf
生成 pdf file
,我将不胜感激。谢谢。
尝试将 functions.php
的第 79 和 80 行替换为:
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
我替换了这些行:
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str);
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str);
这些行:
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
它工作正常。
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str);
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str);
// Remove above and add below code in includes/functions.php
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
// Also comment below line in mpdf.php
$html = preg_replace('/\{DATE\s+(.*?)\}/e',"date('\1')",$html );
$str = preg_replace('/\&\#([0-9]+)\;/me', "code2utf('\1',{$lo})",$str);
$str = preg_replace('/\&\#x([0-9a-fA-F]+)\;/me', "codeHex2utf('\1',{$lo})",$str);
// Remove above and add below code in includes/functions.php
$str = preg_replace_callback('/\&\#([0-9]+)\;/m', function($m) use ($lo){return code2utf($m[1],$lo); }, $str);
$str = preg_replace_callback('/\&\#x([0-9a-fA-F]+)\;/m', function($m) use ($lo){return codeHex2utf($m[1],$lo);}, $str);
// Also comment below line in mpdf.php
$html = preg_replace('/\{DATE\s+(.*?)\}/e',"date('\1')",$html );