动态图像中的HTML字符和[]

时间:2009-12-25 05:02:44

标签: php gd

我正在制作一个动态图像来解析rss Feed。当我正常进行解析时,它会完全按照我想要的方式显示,但是当我将它放在图像中时,会出现像'实际上不是撇号一样的框和html字符。

这是我现在的图片链接(带方框):http://img.got-skills.net/advlog/advlogmaker.php?user=Judgment001

Halp pl0x。

3 个答案:

答案 0 :(得分:2)

这些框可能是您正在使用的字体未提供的字符。如果没有看到你的代码,就很难分辨你哪里出错,但我想你可以从明智地使用以下内容中受益:

  1. http://php.net/manual/en/function.htmlspecialchars-decode.php(PHP> = 5.1)
  2. http://php.net/manual/en/function.html-entity-decode.php
  3. 在将字符串写入图像之前,您可能还需要trim字符串,以消除无关的制表符等。您甚至可能需要提供额外的字符来修剪(第二个参数)以覆盖嵌入在RSS源中的扩展字符。

答案 1 :(得分:1)

我会检查文字的字体和编码。如果你能提供更多信息(比如你正在使用的一些代码),那将会有所帮助。

答案 2 :(得分:0)

您可以使用正则表达式删除所有非安全字符,如下所示:

/**
 * GetFilenameSafeString()
 * 
 * @global Returns a filename that is save for the OS to save
 * @param string
 * @return string 
 */
    function GetFilenameSafeString ( $filename )
    {
        // convert spaces to an underscore
        $filename = preg_replace("/\s+/", "_", $filename);
        // remove all non qwerty characters
        $filename = preg_replace("/([^a-zA-Z0-9_!@#\$%\^&\(\)\[\]\-]+)/", "", $filename);
        return $filename;
    }