Вы не зашли.
Главная » HTML/xHTML/WML » Создание киррилических ULR
#1. TLENS Off (14)
Moderator
2014.02.17 17:05
В общем у меня состоит задача в создании ключевых юрл по именах видео для моего сайта "видеосейвера".
Я отказался от транслитерации имени для url так как имена могут быть на разных языках. В том числе и на иероглифах.
Решил вообще ничего не переводить а составлять юрл так как например в википедии
Я так понимаю нужно перевести символы двоеточие в " что бы не искривить html ну и что то сделать с такими символами как решетка и вопросительный знак. Пробовал решетку перекинуть в %23 а вопросительный знак в %3F а вообще меня это не удовлетворяет и Я решил эти два символа вообще вырезать
На что еще необходимо обратить внимание?
#2. Gemorroj Off (107)
Administrator
2014.02.17 17:05
Просто использовать rawurlencode. Да нет же. Не катит такой вариант. Задача состоит в создании Человеко понятного урля.
Например возьмем имя "!Exclamation Mark, Asia! Asia! #04, 아시아! 아시아! 20030809"
После encodeURIComponent получаем
Нужно что то вроде 
Вложения
escape.png 5kb {1097x31} [загрузок: 1439]
notEscape.png 4kb {720x34} [загрузок: 1513]
#3. TLENS Off (14)
Moderator
2014.02.17 18:06
Ой сори. вместо ответить нажал отредачить)
Добавлено спустя   2 минуты  2 секунды:
Или глюк какой то на сайте
#4. TLENS Off (14)
Moderator
2014.02.17 18:06
Я так подумал. Наверное стоит просто вырезать все эти символы !    "    #     %    &    '    *    ,     :     ;    <    =    >     ?    [    ]    ^    `    {    |    }    <пробел> И после сделать эскэйп
Как вариант использовать только ключевые слова в юрле.
Но появляется другой вопрос как определить где знак препинания а где иероглиф, так как они не попадают под регулярку \w
#5. Gemorroj Off (107)
Administrator
2014.02.17 18:06
TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.
#6. TLENS Off (14)
Moderator
2014.02.17 20:08
Gemorroj написал:
TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.
В общем сделал так:
Код:
var querystring = require('querystring');
module.exports.titleToUrl = function (title) {
return querystring.escape(
title.replace(/[\!"\#%&\*,\:;<=>\?\[\]\^`\{\|\}\/]+/g, '')
.replace(/\s/g, '_')
.replace(/_+/g, '_')
);
};
#7. TLENS Off (14)
Moderator
2014.02.18 15:03
Gemorroj написал:
TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.
В общем у меня появилась задача вырезать абсолютно все лишнее со строки и потом только сделать rawurlencode. Было бы идеально просто пройтись регуляркой типо replace(/[a-z\dа-яё\s]/gi, '-').replace(/_+/g, '-') но увы здесь мне нужно оставить всякие иероглифы от арабских до каких то там трех байтовых японских. В общем Я хз как все это сделать. Тцпо перечислить все разрешимые символы это долго и мучительно.
#8. Gemorroj Off (107)
Administrator
2014.02.18 16:04
TLENS, ну сначала определись тебе белый список символов нужен или черный.
#9. TLENS Off (14)
Moderator
2014.02.18 16:04
Gemorroj, тут Ты прав здесь трудно определиться. Я думаю что для моей задачи будет проще создать черный список. Все остальное кодировать в шестнадцатеричную систему.
#10. tipsun Off (19)
Moderator
2014.02.23 14:02
Мб сделать в виде (упор будет на ид.видео, а после для поисковика, или для чего еще там): сайт/путь/ид.видео/только-буквы-вырезать-символы
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.016 s