0

unaccent 関数を使用して特殊文字を削除しようとしています。

置く場合: 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]);
4

1 に答える 1

1

私はこの方法で解決しました:

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

すべてに感謝します。

于 2013-03-18T16:38:34.990 に答える