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

前面的方法不适用于 ü 或 áéíóú 等拉丁字符,它返回 'a'e'i'o'u 而不是 aeiou。

怎么样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 回答