PHP内置的搜索栏也可以搜索静态网页吗?


Can a search bar built in PHP can also search static web pages?

我希望我的网站有一个搜索栏,我的网站是在核心PHP中创建的。

我的网站的某些部分具有静态页面,某些部分具有动态页面。

  1. 我的开发人员说不建议构建自定义的PHP 中的搜索栏可以在静态页面上工作,因为它是太慢,因为它会执行文件夹内搜索。根据他的说法自定义搜索栏仅在动态页面上效果最佳,并且因此,我应该实现一个谷歌API。

  2. 为什么我对构建Google API搜索框不感兴趣?因为我的开发人员无法自定义它的设计,并且标准框没有与我的网站设计混合。

关于如何做这两点的任何建议或建议。

如果将静态页保存在数据库中,工作会更轻松

  1. 他真的会很慢,他是对的。但是使用正确的缓存系统,可以捕获它。

  2. 谷歌搜索栏可以像这样稍微自定义:http://www.elitepvpers.com/forum/但我真的给了你一些很棒的功能和轻微的谷歌提升

就像Jawlon Rodriguez说的那样,你需要在数据库中为静态内容创建表格,将所有文本和HTML,CSS,JS内容保存在表格中,然后揉搓出泡沫。更好更快。

为什么客户不信任他们的开发人员?他是绝对正确的。

  1. 通过静态页面进行动态搜索确实需要通过文件系统进行搜索,这很慢(尽管可以通过缓存来阻止)。

  2. 谷歌
  3. 搜索栏并不是真正可定制的,这不是因为"他无法做到这一点",而是因为它只是受到谷歌的限制。你使用他们的产品?你得到他们的品牌。就这么简单。

  4. PHP 赋予您创建动态网站的能力。你只需要使用它。如果您将内容存储在数据库中,您将拥有全文搜索的优势,这很棒。

  5. 如果你有一个死的简单网站,请考虑使用静态内容设置一个XML(或任何你喜欢的格式),并将其与实际页面的URL链接。例如,这可能看起来像这样:

XML 文件

<?xml version="1.0"?>
<pages>
    <page>
        <url>http://google.com</url>
        <title>Some title</title>
        <content>
            The quick brown fox jumps over the lazy dog
        </content>
    </page>
    <page>
        <url>http://yahoo.com</url>
        <title>Ohai Catz</title>
        <content>
            The quick Cat kitten cat cat
        </content>
    </page>
</pages>

示例 PHP

<?php
// String to search for
$searchString = 'Cat';
$xml = simplexml_load_file('staticpages.xml');
$pageMatches = [];
foreach( $xml->page AS $page )
{
    // Check if the keyword exists in either the title or the content 
    if( stristr($page->content, $searchString) !== false || stristr($page->title, $searchString) !== false )
    {
        $pageMatches[] = $page;
    }
}
?>
<?php echo $searchString ?> has been found on the following pages: <br>
<?php foreach( $pageMatches AS $match ): ?>
    <a href="<?php echo $match->url ?>"><?php echo $match->url ?></a><br>
<?php endforeach ?>

输出

Cat has been found on the following pages: 
http://yahoo.com

该方法的优点:

  • 无数据库
  • 通过一些小的调整,你可以让你网站的内容从XML显示,这样你就有一个集中的数据来源。
  • 您可以向 XML 添加标记或关键字等其他信息,以使搜索更加精确

现在,立即取消此方法有效搜索资格的最大缺点:

  • 您需要实现搜索算法。

我用stristr()模拟了它.如果你想要一个有可用结果的搜索,你必须投入大量的工作和精力。也许你会在互联网上偶然发现一些算法。但搜索算法本身就是一门科学。谷歌不是一家价值数十亿美元的公司。请记住这一点