我需要限制字符串的长度。我是这样做的:
$str.='<div class="timt">'.substr($row['summary'],0,180).'</div>';
问题在于,在我的语言中,有一些特殊的字符,如áéíúó,当字符串“以特殊字符结束”时,行的结尾为h&eac
而不是hé
。<登记/>
我认为这是因为é
或类似的东西...但我怎么能解决这个问题,所以这不是“截断”?
我找到了一些建议,但没有一个是有效的How to truncate HTML with special characters? ..有没有人有机会指出我怎么能解决这个问题。
我也试过了,但它没有用。
$str.='<div class="timt">'.mb_strcut($row['summary'],0,180,"UTF-8").'</div>';
安德烈回答后,我试试这个
$description = html_entity_decode($row['summary']);
$str.='<div class="timedesctt" onclick="location.href=\''.$this->make_url("item/view/".$row['itemid'],array('city_name'=>$this->get_english_city_name($row['city']))).'\';">'.mb_strcut($description,0,180,"UTF-8").'</div>';
现在只有问题..它显示?
而不是á
我的数据库编码为utf8 unicode ci,charset设置为utf8
解决方案:html_entity_decode($strint,ENT_QUOTES, 'UTF-8')
答案 0 :(得分:2)
最简单的方法是使用html_entity_decode()
转换html实体。
然后使用mb_substr()
,然后将其转换回来。
我可以提供必要的示例,但请检查html_entity_decode()
。