编写适用于任何语言的php函数

时间:2012-06-05 12:19:40

标签: php character-encoding

我正在编写一个函数来清除带或不带ut8字符的文本。

我不断收到这样的文字。

Coventry Salary - �25,000 - �35,000 

但是使用此功能可以删除 但会留下其他功能。

我想知道是否有人编写了一个清理文本的函数。

function convertHTMLSpecialChars ( $str='' ) 
{
    $str = htmlspecialchars ( $str );
    $str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));
    $str = htmlspecialchars($str, ENT_NOQUOTES, 'UTF-8');
    return $str;
}

2 个答案:

答案 0 :(得分:1)

确保服务器将您的页面输出为UTF-8。

你可以使用:

强制它
header ('Content-type: text/html; charset=utf-8');

答案 1 :(得分:1)

这个功能:

$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));

tries来检测来自$str的字符集;如果它发现$ str包含 utf8字符它将返回“utf8”所以func实际上是:

$str = mb_convert_encoding($str, 'UTF-8', 'UTF-8');

哪个帮助不大.. 在我看来你应该手工提供字符串的字符集。 例如,如果它的 turkish:iso-8859-5 ,如果它的 greek:iso-8859-7 等等......