【IT168 技术】
即时功能入门
Google 的即时功能是一种新的搜索增强功能,随着您的键入显示结果,它已经获得了众多瞩目,而且很容易明白这是为什么。获取结果所需做的全部工作就是键入。您无需按 Enter 键来查看结果,然后调整您的搜索并再次按 Enter 键。这都将随着您的键入而发生。如果您还没有这样做,请尝试一下。令人惊讶的是这么小的变化却能在可用性上产生如此大的差异。
这类即时功能的主要好处在于易于实现,尤其当您在使用 jQuery 等客户端工具时(参见 参考资料)。在本文中,您要遵循构建简单搜索引擎的流程,而后再为该引擎构建即时搜索用户界面。
这一切都始于获取搜索数据。
设置数据
对于本文,我决定搜索 “辛普森一家” 剧集。我创建一个包含所有 “辛普森一家” 剧集、标题、季数、集数、播放日期和每集摘要的 XML 文件(包括在源代码 下载 中)。您可以在 清单 1 中看到该 XML 的一部分。
清单 1. XML 数据源
<?xml version="1.0" encoding="UTF-8"?>
<episodes>
<episode title='Simpsons Roasting on an Open Fire' episode='1' season='1'
aired='17 December 1989'>
Christmas seems doomed for the Simpson family when Homer receives no
Christmas Bonus. Homer becomes a mall Santa Claus, hoping to make money and
bring Marge, Bart, Lisa, and baby Maggie, a happy holiday.
</episode>
...
</episodes>
<episodes>
<episode title='Simpsons Roasting on an Open Fire' episode='1' season='1'
aired='17 December 1989'>
Christmas seems doomed for the Simpson family when Homer receives no
Christmas Bonus. Homer becomes a mall Santa Claus, hoping to make money and
bring Marge, Bart, Lisa, and baby Maggie, a happy holiday.
</episode>
...
</episodes>
它实际上是一个非常大的文件,其大小约为 840K。这应该不令人意外,因为 “辛普森一家” 已经播放了漫长的 22 年。
接下来就是编写一个 PHP 类,可为您执行 XML 解析和搜索。这个类称为 Simpsons,如 清单 2 中所示。