#1 2014.02.17 17:34

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Создание киррилических ULR

В общем у меня состоит задача в создании ключевых юрл по именах видео для моего сайта "видеосейвера".
Я отказался от транслитерации имени для url так как имена могут быть на разных языках. В том числе и на иероглифах.
Решил вообще ничего не переводить а составлять юрл так как например в википедии
Я так понимаю нужно перевести символы двоеточие в " что бы не искривить html ну и что то сделать с такими символами как решетка и вопросительный знак. Пробовал решетку перекинуть в %23 а вопросительный знак в %3F а вообще меня это не удовлетворяет и Я решил эти два символа вообще вырезать
На что еще необходимо обратить внимание?

Неактивен

#2 2014.02.17 17:48

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Создание киррилических ULR

Просто использовать rawurlencode. Да нет же. Не катит такой вариант. Задача состоит в создании Человеко понятного урля.
Например возьмем имя "!Exclamation Mark, Asia! Asia! #04, 아시아! 아시아! 20030809"
После encodeURIComponent получаем
Нужно что то вроде 


Вложения

Неактивен

#3 2014.02.17 18:07

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Создание киррилических ULR

Ой сори. вместо ответить нажал отредачить)
Добавлено спустя   2 минуты  2 секунды:
Или глюк какой то на сайте

Неактивен

#4 2014.02.17 18:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Создание киррилических ULR

Я так подумал. Наверное стоит просто вырезать все эти символы !    "    #     %    &    '    *    ,     :     ;    <    =    >     ?    [    ]    ^    `    {    |    }    <пробел> И после сделать эскэйп
Как вариант использовать только ключевые слова в юрле.
Но появляется другой вопрос как определить где знак препинания а где иероглиф, так как они не попадают под регулярку \w

Неактивен

#5 2014.02.17 18:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Создание киррилических ULR

TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.

Неактивен

#6 2014.02.17 20:05

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Создание киррилических ULR

Gemorroj написал:

TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.

В общем сделал так:

Код:

1
2
3
4
5
6
7
8
var querystring = require('querystring');
module.exports.titleToUrl = function (title) {
return querystring.escape(
title.replace(/[\!"\#%&\*,\:;<=>\?\[\]\^`\{\|\}\/]+/g, '')
.replace(/\s/g, '_')
.replace(/_+/g, '_')
);
};

Неактивен

#7 2014.02.18 15:48

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Создание киррилических ULR

Gemorroj написал:

TLENS, нет, стоит использовать rawurlencode. А в title добавлять оригинал. Браузер сам должен распарсить encoded данные и в адресной строке показать читаемый тест.

В общем у меня появилась задача вырезать абсолютно все лишнее со строки и потом только сделать rawurlencode. Было бы идеально просто пройтись регуляркой типо replace(/[a-z\dа-яё\s]/gi, '-').replace(/_+/g, '-') но увы здесь мне нужно оставить всякие иероглифы от арабских до каких то там трех байтовых японских. В общем Я хз как все это сделать. Тцпо перечислить все разрешимые символы это долго и мучительно.

Неактивен

#8 2014.02.18 16:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Создание киррилических ULR

TLENS, ну сначала определись тебе белый список символов нужен или черный.

Неактивен

#9 2014.02.18 16:36

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Создание киррилических ULR

Gemorroj, тут Ты прав здесь трудно определиться. Я думаю что для моей задачи будет проще создать черный список. Все остальное кодировать в шестнадцатеричную систему.

Неактивен

#10 2014.02.23 14:53

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Создание киррилических ULR

Мб сделать в виде (упор будет на ид.видео, а после для поисковика, или для чего еще там): сайт/путь/ид.видео/только-буквы-вырезать-символы

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.014 s