по какой-то причине я получаю эту ошибку ниже, когда пытаюсь использовать несколько функций require () в моем PHP.По сути, я использую несколько функций require () для доступа к нескольким страницам парсера xml.Кто-нибудь знает, как это исправить? Если это не очень наглядно, скажите, пожалуйста, ниже, и я постараюсь это исправить.Спасибо.Я ценю любые положительные отзывы.Кроме того, я только изучаю PHP, поэтому, пожалуйста, не будьте слишком резкими со мной.Я собираюсь предоставить следующий код ниже.
Вот ошибка: Неустранимая ошибка: Невозможно повторно объявить startElement () (ранее объявленный в /Applications/XAMPP/xamppfiles/htdocs/yournewsflow/news/sports.php:27) в / Applications / XAMPP / xamppfiles /htdocs / yournewsflow / news / polit.php в строке 34
Here are the require functions:
<?php
require("news/sports.php");
require("news/political.php");
?>
Here is the xml parser used for a couple pages:
<?php
$tag = "";
$title = "";
$description = "";
$link = "";
$pubDate = "";
$show= 50;
$feedzero = "http://feeds.finance.yahoo.com/rss/2.0/category-stocks?region=US&lang=en-US"; $feedone = "http://feeds.finance.yahoo.com/rss/2.0/category-ideas-and-strategies?region=US&lang=en-US";
$feedtwo = "http://feeds.finance.yahoo.com/rss/2.0/category-earnings?region=US&lang=en-US"; $feedthree = "http://feeds.finance.yahoo.com/rss/2.0/category-bonds?region=US&lang=en-US";
$feedfour = "http://feeds.finance.yahoo.com/rss/2.0/category-economy-govt-and-policy?region=US&lang=en-US";
$insideitem = false;
$counter = 0;
$outerData;
function startElement($parser, $name, $attrs) {
global $insideitem, $tag, $title, $description, $link, $pubDate;
if ($insideitem) {
$tag = $name;
} elseif ($name == "ITEM") {
$insideitem = true;
} }
function endElement($parser, $name) {
global $insideitem, $tag, $counter, $show, $showHTML, $outerData;
global $title, $description, $link, $pubDate;
if ($name == "ITEM" && $counter < $show) {
echo "<table>
<tr>
<td>
<a href=\"".htmlspecialchars($description)."\">".htmlspecialchars($description)."</a>
</td>
</tr>";
// if you chose to show the HTML
if ($showHTML) {
$title = htmlspecialchars($title);
$description = htmlspecialchars($description);
$link = htmlspecialchars($link);
$pubDate = htmlspecialchars($pubDate);
// if you chose not to show the HTML
} else {
$title = strip_tags($title);
$description = strip_tags($description);
$link = strip_tags($link);
$pubDate = strip_tags($pubDate);
}
// fill the innerData array
$innerData["title"] = $title;
$innerData["description"] = $description;
$innerData["link"] = $link;
$innerData["pubDate"] = $pubDate;
// fill one index of the outerData array
$outerData["data".$counter] = $innerData;
// make all the variables blank for the next iteration of the loop
$title = "";
$description = "";
$link = "";
$pubDate = "";
$insideitem = false;
// add one to the counter
$counter++;
}
}
function characterData($parser, $data) {
global $insideitem, $tag, $title, $description, $link, $pubDate;
if ($insideitem) {
switch ($tag) {
case "TITLE":
$title .= $data;
break;
case "DESCRIPTION":
$description .= $data;
break;
case "LINK":
$link .= $data;
break;
case "PUBDATE":
$pubDate .= $data;
break;
}
}
}
// Create an XML parser
$xml_parser = xml_parser_create();
// Set the functions to handle opening and closing tags
xml_set_element_handler($xml_parser, "startElement", "endElement");
// Set the function to handle blocks of character data
xml_set_character_data_handler($xml_parser, "characterData");
// if you started with feed:// fix it to html://
// Open the XML file for reading
$feedzeroFp = fopen($feedzero, 'r') or die("Error reading RSS data.");
$feedoneFp = fopen($feedone, 'r') or die("Error reading RSS data.");
$feedtwoFp = fopen($feedtwo, 'r') or die("Error reading RSS data.");
$feedthreeFp = fopen($feedthree, 'r') or die("Error reading RSS data.");
$feedfourFp = fopen($feedfour, 'r') or die("Error reading RSS data.");
// Read the XML file 4KB at a time
while ($data = fread($feedoneFp, 4096))
//Parse each 4KB chunk with the XML parser created above
xml_parse($xml_parser,$data,feof($feedoneFp))
//Handle errors in parsing
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
// Close the XML file
fclose($feedoneFp);
while ($data = fread($feedtwoFp, 4096))
//Parse each 4KB chunk with the XML parser created above
xml_parse($xml_parser,$data,feof($feedtwoFp))
//Handle errors in parsing
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
// Close the XML file
fclose($feedtwoFp);
while ($data = fread($feedthreeFp, 4096))
//Parse each 4KB chunk with the XML parser created above
xml_parse($xml_parser,$data,feof($feedthreeFp))
//Handle errors in parsing
or die(sprintfs("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
// Close the XML file
fclose($feedthreeFp);
while ($data = fread($feedfourFp, 4096))
//Parse each 4KB chunk with the XML parser created above
xml_parse($xml_parser,$data,feof($feedfourFp))
//Handle errors in parsing
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
// Close the XML file
fclose($feedfourFp);
// Free up memory used by the XML parser
xml_parser_free($xml_parser);
?>