解析rss-未定义偏移量0

利物浦

我有一个rss解析代码,但在第38行($$row = $preg_match [1] [0];)上收到有关未定义偏移量0的错误消息

这是完整的解析代码:

<?php


echo ' <style>
.scores {font-family:"Trebuchet MS",Verdana, Arial, sans-serif; font-size:12px;line-height:140%; }
.scores th {background:#6D8D9F; text-align:left; border:0; color:#fff;padding:2px 5px 2px 5px;}
.scores td {padding:2px 5px 2px 5px; margin:0; border:0;}
.scores td.dark {background:#D1DADF; }
.scores td.bright {background:#E0E8EF; }
.scores a {color:#ccc; text-decoration:none;}
.scores a:hover {color:#fff; text-decoration:none;}
.scores .foot {text-align:center;background:#6D8D9F; color:#ff0000}
.scores .foot small { color:#222}
.scores small {color:#777;}
</style>'."\r\n";



$rss_file = '';
$fp = fsockopen ('www.soccerstats247.com', 80, $errno, $errstr, 5);
if ($fp) {
    fputs ($fp, "GET /CompetitionFeed.aspx?langId=1&leagueId=1204 HTTP/1.0\r\nHost: www.soccerstats247.com\r\n\r\n");
    while (!feof($fp))  {
        $rss_file .= fgets($fp);
    }
    fclose($fp);
} else  {echo('RSS Error :(');}
$rss_rows = array ( "title", "link", "description", "pubDate" );
$rss_array = explode ( "<item>", $rss_file );
echo '<table class="scores"><tr><th> ';
$lineC = 0;
foreach ( $rss_array as $string ) {
    $arrData =array();
    foreach ( $rss_rows as $row ) {
        preg_match_all ( "|<$row>(.*)</$row>|", $string, $preg_match );


        $$row = $preg_match [1] [0];
        $arrData[$row] = $$row;
            }
    $tickerClass = round($lineC/2) == $lineC/2 ? 'dark' : 'bright';
    if (stripos($arrData['description'], 'SoccerStats247'  ) !== false) {
           } else {

               $result = str_replace(array('&lt;br/&gt;&lt;a rel="nofollow" href=""&gt;&lt;/a&gt;'), array(''), $arrData['description']);
    $date = date("Y.m.d", strtotime($arrData['pubDate']));

        echo '<tr><td class="'.$tickerClass.'">'.$date.' '.$result .'<br></td></tr>';
    }
    $lineC++;
}
echo '</table>';

?>

我的问题:为什么会出现错误消息?我的代码有什么问题?非常感谢。

格雷格

我已经为您测试了您的代码。如果在循环中var_dump $ preg_match,您将看到前3个数组包含提要或网站本身之后的信息。第四个循环仅输出一个空数组:

array(2) {
[0] => array(0) { }
[1] => array(0) { }
}

接下来是您想知道的球队和比赛数据的实际数组。嗯是的。基本上,警告是说您要在其中查找的数组中没有实际的条目。

最好的办法是

    if(!empty($preg_match[1]))
    {
            $$row = $preg_match [1] [0];
            $arrData[$row] = $$row;
    }

在尝试输出或处理数据之前。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未定义的偏移量:0。

来自分类Dev

未定义的偏移量:0 ...,虽然已定义

来自分类Dev

PHP-未定义偏移量:0

来自分类Dev

Laravel 4,-> withInput(); =未定义偏移量:0

来自分类Dev

ErrorException:未定义的偏移量:0

来自分类Dev

获取未定义的偏移量:0 php数组

来自分类Dev

注意:未定义的偏移量:0 ... 25

来自分类Dev

PHP中未定义的偏移量0错误

来自分类Dev

未定义的偏移量:6

来自分类Dev

注意:未定义的偏移量

来自分类Dev

未定义的偏移量:4

来自分类Dev

未定义的偏移量2

来自分类Dev

未定义的偏移量:624

来自分类Dev

偏移量为0的无法解析的日期

来自分类Dev

未定义的偏移量:0(如果元数据值为0)

来自分类Dev

Laravel-未定义的偏移量0-collection.php

来自分类Dev

未定义的偏移量:1使用mysql_real_escape_string($ data [0])

来自分类Dev

Yii 1.14通知CUrlManager.php中未定义的偏移量:0

来自分类Dev

Laravel-未定义的偏移量0-collection.php

来自分类Dev

未定义的偏移量:Laravel 5.2中使用arrayholder循环后的0

来自分类Dev

使用 ssp 类复杂函数给出未定义的偏移量:0 错误

来自分类Dev

php获取总和数组,但有“通知”未定义的偏移量:0

来自分类Dev

非法字符串偏移量未定义偏移量:2

来自分类Dev

元素的任何偏移量都返回“未定义”

来自分类Dev

如何修复未定义的偏移量

来自分类Dev

jQuery偏移量返回未定义

来自分类Dev

PHP:for循环中的未定义偏移量

来自分类Dev

PHP从list()的未定义偏移量

来自分类Dev

Laravel未定义偏移量:1