0

アップロード後にファイルの名前を変更する関数を作成しようとしていますが、この関数は機能せず、理由がわかりません。

簡単なコード例を次に示します。

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になる!?

「JPEG xè.w_.a(m)aaYle_oui_」がない理由がよくわかりません。

皆さん、ありがとうございました

4

1 に答える 1

0

uUnicode 文字を取得する場合は、正規表現に修飾子を追加する必要があります。

echo $pathinfo["filename"]."<br/>";
$pathinfo["filename"] = preg_replace('/[ÝŶŸỲỸỶỴ]/u', "Y", $pathinfo["filename"]);
echo $pathinfo["filename"]."<br/>";
于 2012-07-25T14:11:37.203 に答える