如何处理php中的十进制ncr字符

时间:2014-03-04 13:36:18

标签: php html5 unicode

我有一个文件的标题,它有十进制的ncr字符需要转换为HTML。我试过mb_decode_numericentity但是它不起作用,还有其他需要使用的功能。

Zasíláme Vám Set Edukačních Materiálů, Kterými Chceme Přispět k Minimalizaci Rizik Podávání Biologického Léku Remsima (infliximab)

1 个答案:

答案 0 :(得分:1)

mb_decode_numericentity是一个奇怪的功能。为了使它与mb_encode_numericentity的接口匹配,有一个$convmap函数指定要转换的代码点,如果省略则默认为没有代码点(什么都不做)。默认的字符集也许并不合理。

让它做点什么:

$convmap = array(0x0, 0x1FFFFF, 0, 0x1FFFFF);
mb_decode_numericentity($s, $convmap, 'utf-8')

但请注意,它不会解码像&这样的HTML内置实体引用,因此作为解码HTML内容的一种方法,它几乎没用。更接近的是:

html_entity_decode($s, ENT_QUOTES, 'utf-8');

或最简单,使用HTML解析器加载页面并从DOM中提取已解码的数据。