如何在锚点中插入搜索查询字符串

时间:2014-12-05 21:52:13

标签: php search

让我们拍摄3个关键词:阳光镜像 eclipse

使用表单进行搜索时:

<form method="get" action="search.php">
    <input name="q" type="search">
</form>

网址看起来非常好,就像这样:

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

为什么呢?以及如何使它变得更好,就像使用表单一样?

由于

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用$_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>";

Documentation PHP SERVER MANUAL