2013-10-29 64 views
0

我想从PHP数组中删除一些特殊/奇怪的字符。
数据进来作为JSONhtml这样的:从php中删除奇怪的字符

<table class=\"MsoNormalTable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"728\" style=\"width:545.75pt; margin-left:-1.7pt; border-collapse:collapse\">\r\n<tbody>\r\n<tr style=\"height:15.0pt\">\r\n<td width=\"303\" valign=\"top\" style=\"width:227.0pt; border:solid windowtext 1.0pt; padding:0cm 5.4pt 0cm 5.4pt; height:15.0pt\">\r\n<p class=\"MsoNormal\" style=\"line-height:115%\"><span style=\"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; color:black\">Policy number:<\/span><\/p>\r\n<\/td>\r\n<td width=\"425\" nowrap=\"\" valign=\"bottom\" style=\"width:318.75pt; border:solid windowtext 1.0pt; border-left:none; padding:0cm 5.4pt 0cm 5.4pt; height:15.0pt\">\r\n<p class=\"MsoNormal\" style=\"line-height:115%\"><span style=\"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;; color:black\">&nbsp;LAP3_MC_2011030004&nbsp;\r\n<\/span><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr style=\"height:15.0pt\">\r\n<td width=\"303\" nowrap=\"\" valign=\"bottom\" style=\"width:227.0pt; border:solid windowtext 1.0pt; border-top:none; padding:0cm 5.4pt 0cm 5.4pt; height:15.0pt\"> 

我正在读的数据,并过滤出我需要使用DomCrawler睫状和输出是:

string(4) "�Mr�" 

我已尝试

iconv("UTF-8", "ISO-8859-1//TRANSLIT", $l->nodeValue); 

但它不删除怪异钻石字符

任何想法如何解决这个??

+0

'函数utf8_encode($字符串)'或'utf8_decode($字符串)'始终是一个良好的开端。 – h2ooooooo

+0

这只有在您显示数据时才会发生?在里面加''标签:'' – Latheesan

+0

我将数组倾倒出来,它给了我角色。我无法将源HTML更改为由第三方提供。我尝试了utf_decode和utf_encode,它只是给字符串添加了更多的空格。 –

回答

1

尝试

iconv("UTF-8", "ISO-8859-1//IGNORE", $l->nodeValue); 

OR

mb_convert_encoding ($l->nodeValue, "ISO-8859-1", "UTF-8")