变音符号与变音符号有关

时间:2016-01-25 15:36:32

标签: tinymce roxy-fileman

我将roxy fileman实现到我的tinymce编辑器中,它运行得很好,但是我在使用变音符号(ä,ö,ü,ß)等上传文件时遇到了一些问题。如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

在您的fileman / php /目录中搜索upload.php。您将在第37行找到一个foreach循环。在循环内,您会发现以下行(应该是循环的第一行):

$keyword = "Calibri";  //the keyword is dynamic

$dir = new DirectoryIterator('C:\wamp\www\pdfdemos\cv');
$parser = new \Smalot\PdfParser\Parser();
foreach ($dir as $file) {
    if($file->isFile() && $file->getExtension() =='pdf'){
        if ($file->getFilename() =="." || $file->getFilename() =="..") {
            continue;
        }else{
            echo "File name: ".$file->getFilename()."<br />";
            $pdf= $parser->parseFile('C:\wamp\www\pdfdemos/cv/'.$file->getFilename());
            $pages  = $pdf->getPages();
            $text = $pdf->getText();

            if(stripos(strtolower($text), $keyword)) {
                         echo "Keyword Matches";
                         echo "<br/><hr />";
                      }else{
                           echo "Keyword Not Matches";
                           unset($text);
                     }
        }
    }                                               

}

在此行之后插入以下代码:

$filename = $_FILES['files']['name'][$k];

完成。

如果要确保文件名仅由Roy Fileman可以处理的字符组成,则必须在umlaute转换后添加以下行。

// replace umlaute and white spaces
$filename = str_replace(' ', '-', $filename);
$filename = str_replace(utf8_decode('ä'), 'ae', $filename);
$filename = str_replace(utf8_decode('Ä'), 'Ae', $filename);
$filename = str_replace(utf8_decode('ö'), 'oe', $filename);
$filename = str_replace(utf8_decode('Ö'), 'Oe', $filename);
$filename = str_replace(utf8_decode('ü'), 'ue', $filename);
$filename = str_replace(utf8_decode('Ü'), 'Ue', $filename);
$filename = str_replace(utf8_decode('ß'), 'ss', $filename);

这会删除所有重音符号和特殊字符,而无需替换。如果要转换更多特定于语言的字符(例如é,è,ê=> e),则可以添加更多str_replace行。