【发布时间】:2018-02-27 23:48:39
【问题描述】:
我有一个 CSV 文件,里面有数据。 CSV 文件以逗号分隔。它包含重音字符。我希望能够对文件进行清理,以将所有重音字符替换为对应的英文字符。
我正在使用 PHP 读取文件,并且我有一个替换重音字符的函数。但是,我似乎无法使该功能正常工作。
读取 CSV 文件。
$row = 1;
if ( ( $handle = fopen( $input_filename , "r" ) ) !== FALSE ) {
while( ( $data = fgetcsv( $handle, 1000, "," ) ) !== FALSE ) {
$num = count( $data );
$row++;
for ( $c=0; $c < $num; $c++ ) {
echo replaceAccents( $data[$c] )."\n";
}
}
fclose( $handle );
}
替换口音功能
function replaceAccents($str) {
$search = explode(",","ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,ø,Ø,Å,Á,À,Â,Ä,È,É,Ê,Ë,Í,Î,Ï,Ì,Ò,Ó,Ô,Ö,Ú,Ù,Û,Ü,Ÿ,Ç,Æ,Œ");
$replace = explode(",","c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,o,O,A,A,A,A,A,E,E,E,E,I,I,I,I,O,O,O,O,U,U,U,U,Y,C,AE,OE");
return str_replace($search, $replace, $str);
}
当我运行程序时,它似乎仍然会回显重音字符。
我怎样才能读入文件,替换重音字符,然后输出经过清理的文件?
【问题讨论】:
标签: php csv for-loop while-loop str-replace