Я пытаюсь построить правильную строку запроса для GSA с partialfiels, которая содержит фильтры, выбранные пользователями. Глядя на google documentation Мне нужно удвоить значения кодировки. Я пишу эту простую функцию, но если я выберу фильтр, содержащий специальные символы (например, пера foo), это не сработает, и GSA вернет мне 0 результатов.gsa double encoding partialfields
protected function myUrlEncode($str) {
$str = rawurlencode($str);
$replacements = array('%2D', '%2E', '%7E');
$entities = array('-','.','~');
$str = str_replace($entities, $replacements, $str);
return urlencode($str);
}
эта функция возвращает Foo% 2527s% 2520pen, которые я использую в URL: & partialfields = metaname: Foo% 2527s% 2520pen
Вы можете предоставить свое решение? –
Я добавляю ответ на сообщение .. надежда - это то, что вы ищете :) – user3160178