2

我有这个功能:

function validate($data) {
    $newData = str_replace(" ", " ", $newData);
    $newData = utf8_encode(htmlentities(strip_tags($data)));
    return $newData;
}

$rssfeed.='<description><![CDATA['.validate($news).']]></description>';

它从中提取的 MY MySQL 表使用 utf8-general_ci 编码。

但是,我的 XML 提要仍然包含&nbsp;在其中。任何想法为什么?

4

2 回答 2

4

您以错误的顺序使用变量,因此您忽略了str_replace.

$newData = str_replace("&nbsp;", " ", $newData);
$newData = utf8_encode(htmlentities(strip_tags($data)));

应该

$newData = str_replace("&nbsp;", " ", $data);
$newData = utf8_encode(htmlentities(strip_tags($newData)));
于 2012-06-14T17:05:36.620 回答
3

你的功能不应该是这样的:

function validate($data) { 
    $newData = str_replace("&nbsp;", " ", $data); 
    $newData = utf8_encode(htmlentities(strip_tags($newData))); 
    return $newData; 
} 
于 2012-06-14T17:07:05.357 回答