rawurlencode заменяет пробелы на

#php #search

#php #Поиск

Вопрос:

У меня есть форма, которая называется ‘q’. Я использую его для поиска слияния, используя REST API. Чтобы поиск по нескольким словам работал, пробелы должны быть символами amp; . Текущий код использует пробелы . Как я могу заставить пробелы заменяться символами amp;? Я пробовал использовать str_replace, но не могу много найти в Интернете.

 if (isset($_GET['q'])) {
$query = rawurlencode( strip_tags($_GET['q']));
$query = str_replace(' ', 'amp;', $query);
$timestamp = time();
$baseUrl = 'https://mywebsite.atlassian.net/wiki';
$url = $baseUrl.'/rest/api/content/search?cql=space=KB AND type=page AND title~'.$query; 
  

Ответ №1:

Я не уверен, является ли это «лучшим» способом сделать это, но это также звучит как довольно неконформистский запрос от Confluence (с точки зрения RFC), но:

 $query = str_replace(' ', 'amp;', $query); // spaces are   after raw encoding