2015-12-06 108 views
0

我使用PHPExcel将数据从数据库导出到excel文件。但是我的数据包含一些特殊字符,它们由编辑器插件(Summernote)自动生成。例如:使用PHPExcel导出时从Summernote中删除特殊字符

<p class="Default"><span style="font-weight: bold;"><span style="mso-bidi-font-size:10.0pt;color:windowtext">+ Tra cứu thông tin; </span></span></p> 

(主要内容就是:+茶九龙丁字裤锡

任何人都可以帮我删除这些字符,但保留原来的格式导出到Excel文件时?

回答

0

你需要使用一些基本的PHP函数的HTML实体转换为自己的角色,然后剥去HTML标签:

$string = '<p class="Default"><span style="font-weight: bold;"><span style="mso-bidi-font-size:10.0pt;color:windowtext">+ Tra cứu thông tin; </span></span></p>'; 

$string = strip_tags(html_entity_decode($string)); 
var_dump($string); 

,这将给你的原始文本内容

string(24) "+ Tra cứu thông tin; " 

PHPExcel还提供了一个Helper函数,它将转换某些html标记,以便通过将其转换为富文本对象来保留格式。

$string = '<p class="Default"><span style="font-weight: bold;"><span style="mso-bidi-font-size:10.0pt;color:windowtext">+ Tra cứu thông tin; </span></span></p>'; 

$string = html_entity_decode($string); 
$wizard = new PHPExcel_Helper_HTML; 
$richText = $wizard->toRichTextObject($string); 

但是,如果你想保留这一切原有的格式,你需要工作,说出来自己,因为PHPExcel的助手不<span><div>标签读取CSS或读取内嵌样式,只是基本的标记造型标签,如<strong><i><font>