Jack007
Новичок
Как вывести рандомальное знаечения из XML?
Как вывести 2 рандомальных линка из XML?
Беру test.xml:
<?xml version="1.0" encoding="utf-8" ?>
<LinksIn>
<Name>Google</Name>
<Link>http://www.google.ru</Link>
<Title>Google search engine.</Title>
</LinksIn>
<LinksIn>
<Name>Yandex</Name>
<Link>http://www.yandex.ru</Link>
<Title>Yandex search engine</Title>
</LinksIn>
<LinksIn>
<Name>Randmler</Name>
<Link>http://www.rambler.ru</Link>
<Title>Rambler search engine</Title>
</LinksIn>
-------
К нему такой парсер:
Как вывести 2 рандомальных линка из XML?
Беру test.xml:
<?xml version="1.0" encoding="utf-8" ?>
<LinksIn>
<Name>Google</Name>
<Link>http://www.google.ru</Link>
<Title>Google search engine.</Title>
</LinksIn>
<LinksIn>
<Name>Yandex</Name>
<Link>http://www.yandex.ru</Link>
<Title>Yandex search engine</Title>
</LinksIn>
<LinksIn>
<Name>Randmler</Name>
<Link>http://www.rambler.ru</Link>
<Title>Rambler search engine</Title>
</LinksIn>
-------
К нему такой парсер:
PHP:
<?php
function delteg($string)
{
$keyp=0;
$out="";
for ($i=0; $i<strlen($string); $i++) {
if ($string[$i]=="<"):
$keyp=1;
endif;
if ($keyp==0):
$out.=$string[$i];
endif;
if ($string[$i]==">"):
$keyp=0;
endif;
}
$out = substr($out,1,strlen($out)-3);
return $out;
}
$Name = array();
$Link = array();
$Tilte = array();
$n = 0;
$handle = fopen ("test.xml", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
if (strpos($buffer, "Name")>0) ($Name[$n]=delteg($buffer));
if (strpos($buffer, "Link")>0) ($Link[$n]=delteg($buffer));
if (strpos($buffer, "Title")>0) :
$Title[$n]=delteg($buffer);
$n++;
endif;
}
fclose ($handle);
for ($i=0; $i<$n; $i++) {
echo "<a href='".$Link[$i]."' title='".$Title[$i]."'>".$Name[$i]."</a><br>";
}
?>