2

AŠA

PHP

<?php

foreach (glob("*.jpg") as $filename) {
    $search = array("Š");
    $replace = array("S");

    $newname = str_replace($search, $replace, $filename);
    echo $filename.'<br>'.$newname;

    //($filename, realpath(dirname(__FILE__)).'/'.$newname);
}

問題単語「 AŠA 」の文字「Š」を置き換えません

4

2 に答える 2

11

文字列を指定されたエンコーディングに変換できるiconv()を見てください。

あなたのケースの例:

$str = 'AŠA';
$str = iconv('UTF-8', 'ASCII//TRANSLIT', $str); // ASA
于 2013-02-05T09:15:27.490 に答える
6

前の方法は、ü や áéíóú などのラテン文字では機能せず、aeiou の代わりに 'a'e'i'o'u を返します。

どうですかtransliterator_transliterate。PHP >= 5.4 で動作

$str = 'AŠAáéíóú';    
transliterator_transliterate('Any-Latin; Latin-ASCII;', $str); //ASAaeiou

参照 PHP NET: transliterator_transliterate

于 2016-08-22T14:46:37.060 に答える