我正在处理个人项目并使用Symfony3。
为了上传文件,我正在使用OneUpUploaderBundle。
我不接受由带有重音符号,西里尔字符等字符组成的文件名。
为了做到这一点 - 我正在使用CODE
部分
我想在JavaScript的CODE
部分中使用PHP函数!
// transliterate text
public function transliterateText($input_text)
{
$input_russian = transliterator_transliterate('Russian-Latin/BGN', $input_text);
$input_german_french = transliterator_transliterate('Any-Latin; Latin-ASCII', $input_russian);
$input_baltic = iconv('UTF-8', 'ASCII//TRANSLIT', $input_german_french);
$transliterated_text = preg_replace('/[^a-zA-Z_0-9\(\)\n]/', '_', $input_baltic );
$transliterated_text = strtolower($transliterated_text);
return $transliterated_text;
}
输入:“12345RūķīšiПроверкаäöüßàâæçéèêëïîôœùûüÿ.txt”
输出:“12345_rukisi_proverka_aouss_aaaeceeeeiiooeuuuy.txt”
我没有在互联网上找到有关此问题的许多信息。 将JavaScript用于此任务可能不是一个好主意...
或许我应该在Symfony3中创建服务,可以通过AJAX访问并返回音译文本?
请告知。
感谢您的时间和知识。
我想在JavaScript中使用此功能,以便向用户显示文件名在服务器上的样子。 (无论如何,文件名将在服务器上进行音译)。目前,我正在(在UploadListener中)发送每个文件[{'error':'none'}{'orig':'my file name.txt'}{'t13n':'my_file_name.txt'}]
的以下信息。我想尽可能少地从服务器发送到浏览器。因此,如果CODE
有“翻译”,我只需要为每个文件发送error
...