显示在pdf

时间:2017-12-28 17:24:44

标签: php pdf encoding utf-8 fpdf

所以我在使用文本编辑器输入的数据库中保存了文本,因此它中有一些html,如<p></p>等。这很简单,我只是strip_tags()。我的问题是特殊字符的字符实体名称,如&amp; \ nbsp;和&amp; \ ccedil;和&amp; \ otilde; 我需要它们在pdf上正常显示,但我得到的是:

“Ap&amp; \ oacute; s visita do nosso t&amp; \ eacute; cnico,em anexo enviamos a nossa estimatetiva,como solicitado。 Para mais informa&amp; \ ccedil;&amp; \ otilde; es sobre as nossas Condi&amp; \ ccedil;&amp; \ otilde; es e Servi&amp; \ ccedil; os,por favor visite o nosso网站“

(别介意“\”,我不得不把它放进去,以便字符实体名称显示在这里)

我尝试了多种方法来转换此文字:

  1. strip_tags(iconv('UTF-8','windows-1252',htmlentities($ text))))

  2. strip_tags(iconv('UTF-8','windows-1252',htmlspecialchars($ text)))

  3. strip_tags(iconv('UTF-8','windows-1252',html_entity_decode($ text)))

  4. strip_tags(iconv('UTF-8','windows-1252',html_entity_decode(htmlentities($ text))))

  5. 我甚至找到了一个用for循环转换ASCII字符的函数,但这对于有实体名而不是数字的情况不起作用:

    用strip_tags(str_ireplace( '&安培; \ NBSP;',',convertASCIIToChar($文本)))

    function convertASCIIToChar($str){
    $parts = preg_split("/\#(\d+)/",$str,NULL,PREG_SPLIT_DELIM_CAPTURE);
    $count = count($parts);
    for ($i = 1; $i < $count; $i += 2) {
        $parts[$i] = chr($parts[$i]);
    }
    $str = implode($parts);
    return $str;
    }
    

    它仍然只是给我上面的文字,并没有转换它。我想也许是一个str_ireplace有2个数组将实体名称与字符或类似的东西相关联?

    编辑:这是php,我正在使用fpdf作为pdf部分

0 个答案:

没有答案