Преобразование ú в u в javascript

Как мне преобразовать ú в u в javascript. Возможно, он мне понадобится и для других неанглийских символов.


person Chris James    schedule 09.03.2009    source источник


Ответы (4)


В MovableType есть функция dirify, которая делает это. Вот версия PHP. По сути, это большие справочные таблицы, поэтому их будет довольно легко перенести на JavaScript.

Теоретически вы можете анализировать таблицы Unicode и следовать символьным ссылкам, пока не нажмете ASCII, но это может оказаться для вас непрактичным.

person Stephen Deken    schedule 09.03.2009

Был задан аналогичный вопрос (но в контексте .NET): Как убрать диакритические знаки (диакритические знаки) со строки в .NET?

Я думаю, что самым простым решением было бы создать таблицу сопоставления и просто выполнять поиск для каждого символа. Вы можете создать таблицу символов с их диакритическими знаками, соответствующими их «базовому» символу, превратить поиск в функцию, и все готово.

person Zack The Human    schedule 09.03.2009

Вот одна из версий функции, которая делает это в Ruby, что я сделал. Должно быть довольно просто преобразовать javascript.

http://snippets.dzone.com/posts/show/2384

person Tiago    schedule 09.03.2009

проверь этот англичанин

function Englishizer(var strIn)
{   
 var strOut
    var strMid
    var n 
    For int (n = 1; n<strIn.Length;n++)
{
        strMid = substring(strIn, n, 1)
        Select Case strMid.charCodeAt(0)
        Case 192 To 197:
            strMid = "A"
        Case 198:
            strMid = "AE"
        Case 199:
            strMid = "C"
        Case 200 To 203:
            strMid = "E"
        Case 204 To 207:
            strMid = "I"
        Case 208:
            strMid = "D"
        Case 209:
            strMid = "N"
        Case 210 To 214, 216:
            strMid = "O"
        Case 215:
            strMid = "x"
        Case 217 To 220:
            strMid = "U"
        Case 221:
            strMid = "Y"
        Case 222, 254:
            strMid = "p"
        Case 223:
            strMid = "B"
        Case 224 To 229:
            strMid = "a"
        Case 230:
            strMid = "ae"
        Case 231:
            strMid = "c"
        Case 232 To 235:
            strMid = "e"
        Case 236 To 239:
            strMid = "i"
        Case 240, 242 To 246, 248:
            strMid = "o"
        Case 241:
            strMid = "n"
        Case 249 To 252:
            strMid = "u"
        Case 253, 255:
            strMid = "y"

        Englishizer = Englishizer + strMid;
}
}
person Oscar Cabrero    schedule 09.03.2009