Witam :]
Problem polega na tym, ze niby poprawnie wyswietla wszystko, tylko w wypadku jezeli znacznik <link> zawiera np. & to nie wiem dlaczego ale np. taki link
http://www.xfire.be/?x=news&mode=item&id=981 zmienia na
http://192.168.0.149/~majcok/id=981 :|
lub taki
http://www.enemyterritory.pl/index.php?opt...id=972&Itemid=0na
http://127.0.0.1/~majcok/Itemid=0<?
function startElementHandler($parser, $element_name, $element_atribs)
{
global $item_counter, $in_item_tag, $current_tag_state, $dane;
if($element_name == "ITEM")
{
$in_item_tag = 1;
}
if($in_item_tag == 1)
{
$current_tag_state = $element_name;
}
else
{
$current_tag_state = '';
}
}
?>
<?
function characterDataHandler($parser, $data)
{
global $item_counter, $in_item_tag, $current_tag_state, $dane;
if($current_tag_state == '' || $in_item_tag == 0)
return;
if($current_tag_state == "TITLE") {
$dane[$item_counter]["title"] = $data;
}
if($current_tag_state == "DATE") {
$dane[$item_counter]["date"] = $data;
}
if($current_tag_state == "LINK") {
$dane[$item_counter]["link"] = $data;
}
if($current_tag_state == "AUTHOR") {
$dane[$item_counter]["author"] = $data;
}
}
?>
<?
function generate_rss($adres_rss, $nazwa)
{
if(!($fp=fopen($adres_rss, "r"))) die("Nie można otworzyć pliku XML!");
if(!($xml_parser = xml_parser_create()))
die("Nie można utworzyć parsera XML");
xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($xml_parser, "characterDataHandler");
while($data=fread($fp, 4096
)) {
if(!xml_parse
($xml_parser, $data, feof($fp))) {
break;
}
}
xml_parser_free($xml_parser);
?>
<table class="normal">
<tr>
<td align="center">
<b>
<? echo $nazwa; ?></b>
</td>
</tr>
<?
for($i=0; $i < $item_counter; ++$i)
{
if($nazwa == "ETTV.org")
{
$szukaj[0]="!th!";
$szukaj[1]="!st!";
$szukaj[2]="!rd!";
$szukaj[3]="!CET!";
$szukaj[4]="!January!";
$szukaj[5]="!February!";
$szukaj[6]="!March!";
$szukaj[7]="!April!";
$szukaj[8]="!May!";
$szukaj[9]="!June!";
$szukaj[10]="!July!";
$szukaj[11]="!Augu!";
$szukaj[12]="!September!";
$szukaj[13]="!October!";
$szukaj[14]="!November!";
$szukaj[15]="!December!";
$zmien[0]='';
$zmien[1]='';
$zmien[2]='';
$zmien[3]='';
$zmien[4]='- Styczeń -';
$zmien[5]='- Luty -';
$zmien[6]='- Marzec -';
$zmien[7]='- Kwiecień -';
$zmien[8]='- Maj -';
$zmien[9]='- Czerwiec -';
$zmien[10]='- Lipiec -';
$zmien[11]='- Sierpień -';
$zmien[12]='- Wrzesień -';
$zmien[13]='- Październik -';
$zmien[14]='- Listopad -';
$zmien[15]='- Grudzień -';
$dane[$i]["date"] = @preg_replace($szukaj, $zmien, $dane[$i]["date"]); $dane[$i]["title"] = explode("vs", $dane[$i]["title"]);
$ile = strlen($dane[$i]["title"][0
]); if($ile > 10)
{
$dane[$i]["title"][0
] = substr($dane[$i]["title"][0
], 0
, 10
); }
$ile2 = strlen($dane[$i]["title"][1
]); if($ile2 > 10)
{
$dane[$i]["title"][1
] = substr($dane[$i]["title"][1
], 0
, 10
); }
$jeden = $dane[$i]["title"][0];
$dwa = $dane[$i]["title"][1];
$zawartosc = "$jeden vs $dwa";
$trzy = $dane[$i]["date"];
?>
<tr>
<td>
<? echo $trzy ?> <br> <a href="
<? echo $dane[$i]["link"]; ?>"><font style="color:#790000;">
<? echo $zawartosc; ?></font></a>
</td>
</tr>
<?
}
else
{
?>
<tr>
<td>
<a href="
<? echo $dane[$i]["link"]; ?>"><font style="color:#790000;">
<? echo $dane[$i]["title"]; ?></font></a><br>
<? echo $dane[$i]["author"]; ?> </td>
</tr>
<?
}
}
?>
</table>
<?
}
?>
Dzieki
Pozdrawiam
Ten post edytował Majcok12 22.08.2005, 12:34:53