Давайте возьмем 3 ключевых слова: Солнечный лучик, зеркало, затмение
При выполнении поиска с помощью формы:
<form method="get" action="search.php">
<input name="q" type="search">
</form>
URL выглядит очень красиво, вот так:
http://localhost/gallery/search.php?q=sunlight+mirror+eclipse
Все идет нормально.
При попытке вставить строку поискового запроса в привязку, как это
// get the query string
if (isset($_GET['q'])) {
$current_q = $_GET['q'];
}
<a href="<?php echo 'http://localhost/gallery/search.php?q=' . $current_q; ?>">this is my query</a>
я получаю что-то уродливое со странными символами между ключевыми словами, например так:
http://localhost/gallery/search.php?q=sunlight%20mirror%20eclipse
Зачем? А как сделать это красиво, как при использовании формы?
Спасибо
Самый простой способ сделать это — использовать $_SERVER['QUERY_STRING']
это будет что-нибудь после ?
это получит это так же, как URL получает это
http://localhost/gallery/search.php?q=sunlight+mirror+eclipse
некоторый код
<?php
$query = $_SERVER['QUERY_STRING'];
$query = str_replace(' ', '+', urldecode($query));
echo "<a href='http://localhost/gallery/search.php?$query'>this is my query</a>";
Других решений пока нет …