//index.php
<script>
// 创建 XMLHttpRequest 对象
// 创建在服务器响应就绪时执行的函数
// 向服务器上的文件发送请求
// 请注意添加到 URL 末端的参数(q)
function showResult(str)
{
if(str.length==0)
{
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
if(window.XMLHttpRequest)
{
//IE7+,Firefox,Chrome,Opera,Safari
xmlhttp = new XMLHttpRequest();
}
else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
xmlhttp.open("GET","livesearch.php?q="+str,true);
xmlhttp.send();
}
</script>
<body>
<form>
<input type="text" size="30" onkeyup="showResult(this.value)">
<div id="livesearch"></div>
</form>
</body>
//livesearch.php
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("links.xml");
$x=$xmlDoc->getElementsByTagName('link');
$q = $_GET["q"];
if(strlen($q)>0)
{
$hint="";
for($i=0;$i<($x->length);$i++)
{
$y = $x->item($i)->getElementsByTagName('title');
$z = $x->item($i)->getElementsByTagName('url');
if($y->item(0)->nodeType==1)
{
//找到匹配搜索的链接
if(stristr($y->item(0)->childNodes->item(0)->nodeValue,$q))
{
if($hint=="")
{
$hint="<a href='".
$z->item(0)->childNodes->item(0)->nodeValue.
"'target='_black'>".
$y->item(0)->childNodes->item(0)->nodeValue."</a>";
}
else
{
$hint = $hint."<br /><a href='";
$z->item(0)->childNodes->item(0)->nodeValue.
"'target='_blank'>".
$y->item(0)->childNodes->item(0)->nodeValue
."</a>";
}
}
}
}
}
//如果没找到则返回"no suggestion"
if($hint=="")
{
$response="no suggestion";
}
else
{
$response = $hint;
}
echo $response;
?>
//links.xml
<?xml version="1.0" encoding="UTF-8"?>
<pages>
<link>
<title>HTML a 标签</title>
<url>http://www.runoob.com/tags/tag-a.html</url>
</link>
<link>
<title>HTML br 标签</title>
<url>http://www.runoob.com/tags/tag-br.html</url>
</link>
<link>
<title>CSS background 属性</title>
<url>
http://www.runoob.com/cssref/css3-pr-background.html
</url>
</link>
<link>
<title>CSS border 属性</title>
<url>http://www.runoob.com/cssref/pr-border.html</url>
</link>
<link>
<title>JavaScript Date 对象</title>
<url>http://www.runoob.com/jsref/jsref-obj-date.html</url>
</link>
<link>
<title>JavaScript Array 对象</title>
<url>http://www.runoob.com/jsref/jsref-obj-array.html</url>
</link>
</pages>