2013-03-18 88 views
0

我試圖使用unaccent函數來提取特殊字符。Unaccent函數返回1

如果放入:echo Unaccent('áéç');結果是好的

當我嘗試添加爆炸參數:echo unaccent($ foo [1]);結果爲1

任何建議?

$fiche = file('fiches.txt'); 
foreach ($fiche as $line_num => $line) { 
echo $line; 

$foo = explode (",", $line); 

function Unaccent($string) 
{ 
return preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')); 
} 

echo Unaccent($foo[1]); 
+1

你試過調試過嗎? var_dump($ foo [1]);'show? – 2013-03-18 15:42:11

+0

你的'foreach'循環關閉'}'在哪裏?你(重新)在循環內聲明'Unaccent'嗎? – 2013-03-18 15:43:42

+0

}已關閉 var_dump返回:string(9)「ACaÇçÇÃÕ」 – user2123738 2013-03-18 15:49:25

回答

0

我已經解決了這種方式:

preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($line)); 

非常感謝大家。