Мозг кипит с urlencode и подобным

gr1nader
На сайте с 26.10.2012
Offline
20
1018

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

есть некий скрипт который получает разные данные с нескольких мест, далее все эти танные выводим в виде ссылок, иногда данные получаем уже в нужном формате и в уре идет "string1 string2" с пробелом между словами, иногда из других источников данные приходят в виде "string1" и обрубает стринг после первого пробела приходится применять urlencode и тогда урл становится в виде "string1+string2" с плюсом, но иногда появляются символы типа одинарной ковычки которые после urlencode превращается в "%26%2339%3B" тогда начал делать заплатками типа:


$string1 = str_replace(" ","%20","$string1 ");
$string1 = str_replace("&", "%26", $string1 );
$string1 = str_replace("%26#39;", "'", $string1 );
$string1 = str_replace("#", "%23", $string1 );

по мере надобности и получилось куча разных видов урлов и салат как быть помогите, поделитесь опытом.

---------- Добавлено 07.07.2013 в 16:20 ----------

PS: пробовал использовать rawurlencode получается "string1 string2" с пробелом вместа плюса но с кавычкой таже байда

---------- Добавлено 07.07.2013 в 16:25 ----------

заметил таже кавычка выводится в некоторых стрингах как %27 что в принципе то что нужно а иногда %26%2339%3B что не нормально и дальше с этим стрингом делать нечего.

OK
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

А функцию urldecode не судьба заюзать?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
gr1nader
На сайте с 26.10.2012
Offline
20
#2

спасибо с этим понятно просто голова кругом от того что одна кавычка с тремя разными кодами а сам скрипт который мне подкинули пришлось перепахивать, в конце получился новый уже с внедреннм urldecode просто а вдруг есть еще какие символы или знаки на которых повалиста, и еще что лучше использовать для передачи через гет rawurlencode() или urlencode()?

BG
На сайте с 10.11.2012
Offline
5
#3

urlencode urldecode - вам этого хватит с головой, не смотрите на другие версии)

gr1nader
На сайте с 26.10.2012
Offline
20
#4

а как лучше чтоб ссылке на сайте были с "+" в ссылке и в строке браузера или с " " в ссылке и с "%20" в строке браузера, что использовадь urlencode urldecode или rawurlencode rawurldecode ?

gr1nader
На сайте с 26.10.2012
Offline
20
#5

не пашет если кавычка "%27" мозг кипит помогите

VE
На сайте с 17.08.2006
Offline
76
#6

Только ИМХО.

А вы фильтруете данные после их получения: ' => ' ?

Если уж про кавычки заговорили - помните, что есть еще кавычки от MS Word.

gr1nader
На сайте с 26.10.2012
Offline
20
#7

решил с единственной заплаткой так

$q=urlencode($_GET[search]);

$q = str_replace("%26%2339%3B","%27","$q");

по другому никак нашел один единственный сайт с упоминанием этого так называемого "bizarre URL encoding issues" просто стринг дальше передается на следуйщий гет запрос.

dkameleon
На сайте с 09.12.2005
Offline
386
#8

поработайте над входными данными, а не энкодироваными.

Дизайн интерьера (http://balabukha.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий