• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用PHP&XML编制迷你搜索引擎(三)_PHP

php 搞代码 3年前 (2022-01-25) 20次浏览 已收录 0个评论

四、在第三章程序的基础上可以显示一段子树。

同第二章的代码我就不再注释了。

下面的代码是我们的迷你搜索引擎的基础。

因为要显示出一个字类别如程序设计>PHP>的信息就要用到他。

我们依照元素的层数和他在当层的第几号来对他进行定位

links 01

+web 11

+sub 12

| +web 21

| +sub 22

| | +web 31

| | +sub 32

:

:

:

__________________________________________________________

<html>

<body>

<?

// XML文件

$file = “demo.xml”;

// 解析XML文件的函数

function xml_parse_from_file($parser, $file)

{

if(!file_exists($file))

{

die(“Can’t find file “$file”.”);

}

if(!($fp = @fopen($file, “r”)))

{

die(“Can’t open file “$file”.”);

}

while($data = fread($fp, 4096))

{

if(!xml_parse($parser, $data, feof($fp)))

{

return(false);

}

}

fclose($fp);

return(true);

}

function start_element($parser, $name, $attrs)

{

global $level,$levelcount,$maxlevel,$hide,$lev,$num,$PHP_SELF;

$level += 1;

if($level>$maxlevel)$maxlevel=$level;

$levelcount[$level]+=1;

if($hide){ //判断是否在子树的范围内 $hide==FALSE 为在

if($level==$lev&&$levelcount[$level]==$num)$hide=FALSE;

}else{

if($level<=$lev)$hide=TRUE;

}

if(!$hide){

echo “

“;

for($i=1;$i<=($level-1-$lev);$i++)echo"| ";

if($level-$lev>0)echo”+—-“;

echo “”.

//加上每个元素节点的联接

trim($name).” “;

while ( list( $key, $val ) = each( $attrs ) ) {

echo “$key @本文来源gaodai$ma#com搞$代*码6网搞代gaodaima码=> $val; “;

}

}

}

function stop_element($parser, $name)

{

global $level;

$level -= 1;

}

function data($parser, $data)

{

global $level,$hide;

if(!$hide)

if(trim($data)!=””){

echo trim($data);

}

}

//main start

global $hide,$lev,$num,$PHP_SELF;

$level = -1;

$hide = TRUE;

echo “


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用PHP&XML编制迷你搜索引擎(三)_PHP

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址