Je travaille sur mon PHP pour obtenir la liste des URL. J'utilise domdocument pour obtenir la liste des URL que j'ai pour l'entrée et je veux envoyer la requête à chaque URL pour obtenir les chaînes de retour.Erreur fatale capturable: Objet de la classe DOMNodeList n'a pas pu être converti en chaîne
Quand j'ai essayé ceci:
if($link->getAttribute('href'))
{
if(!$link->hasAttribute('id') || $link->getAttribute('id')!='streams')
{
$url = str_replace("rtmp://", "", $link->getAttribute('href'));
$url = str_replace(" ", "%20", $link->getAttribute('href'));
echo $url;
echo "<br>";
$sdoc = new DOMDocument();
$sdoc->strictErrorChecking = false;
$sdoc->recover=true;
@$sdoc->loadHTMLFile($url);
$spans = $sdoc->getElementsByTagName('span');
echo $spans;
}
}
j'obtenir ceci: Catchable erreur fatale: objet de la classe DOMNodeList ne pouvait être convertie en chaîne.
L'erreur sautent sur cette ligne:
echo $spans;
Voici la liste des chaînes de temps pour chaque URL que je veux analyser:
<span id="time1">4:00 PM</span> -
<span id="time2">4:30 PM</span>
<span id="time3">5:00 PM</span>
<span id="time4">5:30 PM</span>
<span id="time5">6:00 PM</span>
Voici le code:
<?php
ini_set('max_execution_time', 300);
$errmsg_arr = array();
$errflag = false;
$xml .= '<?xml version="1.0" encoding="UTF-8" ?>';
$xml .= '
<tv generator-info-name="www.mysite.com/xmltv">';
$baseUrl = file_get_contents('http://http://www.mysite.com/get-listing.php');
$domdoc = new DOMDocument();
$domdoc->strictErrorChecking = false;
$domdoc->recover=true;
//@$domdoc->loadHTMLFile($baseUrl);
@$domdoc->loadHTML($baseUrl);
//$links = $domdoc->getElementsByTagName('test');
//$links = $domdoc->getElementById('test');
$links = $domdoc->getElementsByTagName('a');
$data = array();
foreach($links as $link)
{
//echo $link->getAttribute('id, test');
//echo $test;
//echo $domdoc->saveXML($link);
if($link->getAttribute('href'))
{
if(!$link->hasAttribute('id') || $link->getAttribute('id')!='streams')
{
$url = str_replace("rtmp://", "", $link->getAttribute('href'));
$url = str_replace(" ", "%20", $link->getAttribute('href'));
echo $url;
echo "<br>";
$sdoc = new DOMDocument();
$sdoc->strictErrorChecking = false;
$sdoc->recover=true;
@$sdoc->loadHTMLFile($url);
$spans = $sdoc->getElementsByTagName('span');
$query = parse_url($url)['query'];
$url_split = explode("&", $query)[0];
$channel = urldecode(explode("=",$url_split)[1]);
foreach($spans as $span)
{
$id = $span->getAttribute('time1');
//echo $id;
}
}
}
}
?>
Pouvez-vous s'il vous plaît me dire pourquoi je reçois l'erreur fatale catachable et comment je peux faire écho pour les chaînes de temps?
Merci les gars, il fonctionne parfaitement !!! –