[PHP-users 33462] Undefined offsetエラー

kaz okui @ sannet.ne.jp
2008年 4月 11日 (金) 10:28:48 JST


おはようございます、奥井です。

エラーログにPHP Notice:  Undefined offset:  460123(カウントアップ値)のメッセージが沢山出ますが原因がわからず困っていますのでなにかアドバイスを頂たいと思います。
スクリプトはhtml文からの抜き出しです。
$lines = file('http://localhost/~sus/2008kayou.html');
$j = 0;
for ($i = 0;$i < count($lines);$i++){
	if (stristr($lines[$i],"<font")) {
		$check_char = 0;
	} else {
		$check_char = 1;
	}
	
	switch ($check_char) {
		case 0;
			$Line[$j] = $lines[$i];
			++$j;
			++$i;
			while ( !(stristr($lines[$i],"<hr")) ) {
				$Line[$j] = $lines[$i];
				++$j;
				++$i;
			}
			++$j;
			break;
		case 1;
			break;
	}
}
do {
	$file =  $Line[$i];
	++$i;
	$title = $Line[$i];
	++$i;
	$info1 = $Line[$i];
	++$i;
	while ( !(stristr($Line[$i],"<font")) ) {
		$info1 .= $Line[$i];
		++$i;
	}
	
	echo $file;echo $title;echo $info1;echo "<br>";
} while ( $i > count($Line) );

抜き出したhtml文は$Lineに以下のようなものがいくつかはいります。
<FONT size="4"><a href="2008/kayou-dorama/AM-nhk120080114-2130.mp3">20080114-2130.mp3</a><br></FONT>
「恋はやさし野辺の花よ」<br>
                      【作】大橋 泰彦<br>
                     【出演】山下 智子<br>
                         安原 義人<br>
これを$file $title $info1に入れるdo文でおかしくなって途中で表示されなくなります。
エラーログをみると200MぐらいのサイズになっていてPHP Notice:  Undefined offset:  460123(カウントアップ値)が沢山でています。
do文のwhileあたりで大量にメッセージがでています。
どこが駄目なのかご教授お願いします。


PHP-users メーリングリストの案内