http://ru.wikipedia.org/wiki/Знаменитые_алмазы
-->
http://ru.wikipedia.org/wiki/%D0%97%D0%BD%...%B0%D0%B7%D1%8B
?
Спустя 18 минут, 11 секунд (14.03.2011 - 13:38) Trianon написал(а):
rawurlencode() ?
Спустя 18 минут, 29 секунд (14.03.2011 - 13:56) LRCenter написал(а):
Trianon
Спасибо, реально помог!
Только вот эта функция http: и все слэши в url тоже кодирует. как-бы этого надежно избежать?
Спасибо, реально помог!
Только вот эта функция http: и все слэши в url тоже кодирует. как-бы этого надежно избежать?
Спустя 27 минут, 19 секунд (14.03.2011 - 14:23) Trianon написал(а):
1 вариант.
найдите в строке последний слэш,
отделите строчку после него, закодируйте её, присоедините к началу.
2 вариант.
замена символов с помощью preg_replace по шаблону.
первый вариант скорее всего быстрее и проще выйдет.
найдите в строке последний слэш,
отделите строчку после него, закодируйте её, присоедините к началу.
2 вариант.
замена символов с помощью preg_replace по шаблону.
первый вариант скорее всего быстрее и проще выйдет.
Спустя 11 минут, 8 секунд (14.03.2011 - 14:35) LRCenter написал(а):
Trianon
Неуниверсально. А если адрес будет такой.
Как быть со слэшом посреди кириллицы?
Неуниверсально. А если адрес будет такой.
домен/кириллица/кириллица/
Как быть со слэшом посреди кириллицы?
Спустя 2 минуты, 15 секунд (14.03.2011 - 14:37) Trianon написал(а):
тогда разделяйте по слэшу на фрагменты, преобразуйте эти фрагменты и склеивайте результат обратно.
правда схему с доменом стоит всё же отделить.
правда схему с доменом стоит всё же отделить.
Спустя 9 минут, 54 секунды (14.03.2011 - 14:47) neadekvat написал(а):
Хм, а по-моему, еще вариант, как-то так:
Правда, в реальных проектах так не делал, подводных камней пока не вижу.
$url = 'http://google.com/?q=Некий запрос';
$url = urlencode($url);
$url = str_replace(array('%3A', '%2F'), array(':', '/'), $url);
echo $url;
Правда, в реальных проектах так не делал, подводных камней пока не вижу.
Спустя 3 минуты, 22 секунды (14.03.2011 - 14:50) Trianon написал(а):
как раз внутри query_string слэши стоило бы заекодить.
Спустя 7 минут, 44 секунды (14.03.2011 - 14:58) neadekvat написал(а):
Да, действительно, вот и неуведнный минус.
Ну, что ж, тогда предложенные выше сопособы.
Ну, что ж, тогда предложенные выше сопособы.
Спустя 2 месяца, 8 дней, 21 час, 4 минуты, 23 секунды (23.05.2011 - 11:02) ariecx написал(а):
$url = 'http://google.com/модуль//действие?q=Некий запрос&arr[]=Некий запрос2&arr[][qq]=Некий запрос3';
$purl = parse_url($url);
if(!empty($purl['query'])){
parse_str($purl['query'], $query);
array_walk_recursive($query, function($item, $key){
return urlencode($item);
});
$query = '?'.http_build_query($query);
}else $query = '';
$path = preg_split('!/!', $purl['path'], -1, PREG_SPLIT_NO_EMPTY);
if($path) $path = implode('/', array_map('urlencode', $path)).'/';
else $path = '';
$url = "{$purl['scheme']}://{$purl['host']}/$path$query";
echo $url;
;)
_____________
Меньше кода - меньше багов ©