我希望我的网站有一个搜索栏,我的网站是在核心PHP中创建的。
我网站的某些部分有静态页面,有些部分有动态页面。
我的开发人员说不建议定制 PHP中的搜索栏可以在静态页面上工作,就像它一样 太慢,因为它会进行文件夹内搜索。按他的说法 cutomised搜索栏最适合仅动态页面,和 因此我应该实施Google API。
为什么我对构建Google API搜索框不感兴趣?因为我的开发人员无法自定义它的设计,标准框没有与我的网站设计混合。
关于如何做任何一点的任何建议或建议。
答案 0 :(得分:2)
如果在数据库中保存静态页面,工作会更容易
答案 1 :(得分:1)
他说得对,真的很慢。但是使用正确的缓存系统可以捕获它。
谷歌搜索栏可以像这样轻微定制:http://www.elitepvpers.com/forum/ 但我真的给你一些很棒的功能和一个轻微的谷歌提升
答案 2 :(得分:0)
就像Jawlon Rodriguez所说,你需要在数据库中为静态内容创建表,将所有文本和HTML,CSS,JS内容保存在表中并将其取出。更好更快。
答案 3 :(得分:0)
为什么不让客户信任他们的开发者?他绝对正确。
通过静态页面进行动态搜索确实需要通过文件系统进行搜索,这种搜索速度很慢(可以通过缓存来防止)。
谷歌搜索栏不是真正可定制的,并不是因为"他无法做到这一点",而是因为它仅受谷歌的限制。你用他们的产品?你得到他们的品牌。它就这么简单。
PHP让您有能力创建动态网站。你只需要使用它。如果您将内容存储在数据库中,您将获得全文搜索的优势。
如果您有一个死的简单网站,请考虑使用静态内容设置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
这种方法的优点:
现在大劣势会立即取消此方法的有效搜索资格:
我用stristr()
模拟了它。如果您希望使用可用结果进行搜索,则需要投入大量精力和精力。也许你会在互联网上偶然发现一些算法。但搜索算法本身就是一门科学。谷歌不是一家价值数十亿美元的公司。牢记这一点