我正在尝试创建一个在上传文件后重命名文件的函数,但是这个函数不起作用,我不明白为什么。
这是一个简单的示例代码:
echo $pathinfo["filename"]."<br/>";
$pathinfo["filename"] = preg_replace('/[ÝŶŸỲỸỶỴ]/', "Y", $pathinfo["filename"]);
echo $pathinfo["filename"]."<br/>";
哪个输出:
JPEG xè.w_.a(m)aaỶle_oui_
JPEG xY�.w_.a(m)aaYYYle_oui_
è转化为??并且Ỷ变成了YYY!?
我真的不明白为什么我没有'JPEGxè.w_.a(m)aaYle_oui _'。
谢谢大家
答案 0 :(得分:0)
如果要抓取Unicode字符,则应该为正则表达式添加u
修饰符。
echo $pathinfo["filename"]."<br/>";
$pathinfo["filename"] = preg_replace('/[ÝŶŸỲỸỶỴ]/u', "Y", $pathinfo["filename"]);
echo $pathinfo["filename"]."<br/>";