Аналог функци encodeURI в JavaScript

 
0
 
PHP
ava
JAYBE | 25.03.2013, 15:30
Добрый день!
Подскажите аналог функции функци encodeURI в JavaScript.
Тоесть например при выполнении такой функции encodeURI("http://somesite/главная.html") на JS получаем результат:
 http://somesite/%D0%B3%D0%BB%D0%B0%D0%B2%D...0%B0%D1%8F.html

Как в PHP сделать то же самое?
Kommentare (4)
ava
ksnk | 25.03.2013, 15:09 #
encodeURIComponent, encodeURI
не оно?
ava
JAYBE | 25.03.2013, 15:40 #
Решил так:

/**
* Аналог функции encodeURI в JavaScript
* @param  string $url строка для кодирования
* @return string      закодированная строка
*/
function encodeURI($url) {
    $unescaped = array(
        '%2D'=>'-',
        '%5F'=>'_',
        '%2E'=>'.',
        '%21'=>'!',
        '%7E'=>'~',
        '%2A'=>'*',
        '%27'=>"'",
        '%28'=>'(',
        '%29'=>')'
    );
    $reserved = array(
        '%3B'=>';',
        '%2C'=>',',
        '%2F'=>'/',
        '%3F'=>'?',
        '%3A'=>':',
        '%40'=>'@',
        '%26'=>'&',
        '%3D'=>'=',
        '%2B'=>'+',
        '%24'=>'$'
    );
    $score = array('%23'=>'#');
    return strtr(rawurlencode($url), array_merge($reserved,$unescaped,$score));
}
ava
ksnk | 26.03.2013, 09:02 #
а чем urldecode не подходит
 http://php.net/manual/ru/function.urldecode.php ?
ava
JAYBE | 26.03.2013, 13:58 #
Он вроде как двоеточие и знаки вопроса кодирует, что мне не нужно...
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
  ksnk   JAYBE
advanced
Absenden