如何让我的搜索栏实际搜索我网站中的页面?

时间:2017-08-18 15:20:13

标签: html search-box

我在我的网站上放了一个搜索栏,但我不知道如何让它实际搜索我网站中的页面。我不想要谷歌搜索栏,你可以搜索任何东西。我的网站上已有搜索栏,但按搜索时没有任何反应。非常感谢帮助。

这是我的搜索栏中的html:

<div class="search">
    <form class="form-wrapper-2 cf">
        <input type="text" placeholder="Search Yacht..." required>
        <button type="submit">Search</button>
    </form>
</div>

2 个答案:

答案 0 :(得分:0)

以下是搜索栏的示例HTML表单代码:

<form id="sarchform" class="search2" method="get" action="source.html" />
<input class="search2" id="test" type="text" name="search" size="10" maxlength="255"/>

这是JS代码:

<script type="text/javascript">
document.getElementById('searchform').onsubmit = function() {
    window.location = 'http://www.google.com/search?q=site:yourdomainname ' + document.getElementById('test').value;
    return false;
}
</script>

在上面的代码中提及您的域名并尝试实现此目的。

答案 1 :(得分:0)

如果您不想使用某种类型的Google搜索栏,可能会在提交表单时运行脚本,该表单搜索工作目录中每个网页中的文本以查找匹配项,然后显示包含找到的匹配项链接的页面。

我将使用PHP来描述如何完成此操作。

考虑到这一点,首先要学习如何将整个页面(即网页)读入字符串: http://php.net/manual/en/function.file-get-contents.php

//YOU WILL HAVE TO LINE THIS UP WITH YOUR WORKING FILE NAMES
$home = file_get_contents('./home.php', FILE_USE_INCLUDE_PATH);

或者我想你可以像这样搜索实际的网页/网址:

$home = file_get_contents('http://www.example.com/');//IMAGINE THIS IS REALLY HOME.PHP
$homePageName = "home.php";//JUST HERE TO SHOW AN EXAMPLE

示例:

///YOUR FORM/INPUT BOX
<form action="search.php" method="post">
    <input type="text" name="findMe" placeholder="Search Yacht">
</form>

现在搜索.php

$search = $_POST['findMe'];
//$search = "example";//THIS WOULD WORK, BUT I WAS SHOWING HOW TO USE FORM

//IF WORD FOUND IN HOME PAGE
if (stripos($home, $search) !== false) {//USING EXAMPLE.COM TO SHOW IT WORKS
    echo '<a href="'.$homePageName.'">'.$homePageName.'</a>';
}

然后,如果您想要简化并且不使用数组来存储找到的页面,请使用上面相同的代码并将其用于您想要搜索的每个页面(即主页,关于,产品等)。

现在,用户可以搜索您的网站(或您要编入索引的网页),以查找具有匹配文本的所有网页。如果您想要搜索特定关键字,只需将它们添加到页面元数据中,我所描述的过程仍将有效,因为它会搜索构成页面的所有内容。

<meta name="keywords" content="keyword1, keyword2, keyword3 " />