我收到此错误正在运行验证:"启动表格中显示的标记div"导致"在上次错误后无法恢复。任何进一步的错误都将被忽略"。
<div class="post">
<table>
<?php
$dir = 'img/';
$filetype = '*.*';
$allow = array('jpg');
$files = glob($dir.$filetype);
$newest_images_first = true;
$files = array_reverse($files);
$i=0;
$open = opendir($dir);
while (($file=readdir($open))!==false) {$ext=str_replace('.', '', strrchr($file, '.'));if (in_array($ext, $allow)) $list[$i++]=$file; }
$perPage= 20;
$total=count($list);
$pages=ceil($total/$perPage);
$thisPage=isset($_GET['pg'])?$_GET['pg']-1:0;
$start=$thisPage*$perPage;
$pageNumber= $thisPage+1;
$perRow= 1;
$imgCnt=0;
$imgCnt+=1;
for ($i=$start;$i<$start+$perPage;$i++)
{ // <---------- this opens element
echo '<div class="item">'; // <----------- this div doesn't open!!
// Preloader
echo '<div class="preloader"></div>';
if (isset($list[$i])) {
echo '<figure>';
echo '<div class="photo">';
$exif = exif_read_data($files[$i], 0, true);
error_reporting(E_ERROR | E_PARSE);
$title = substr($files[$i],strlen($dir),strrpos($files[$i], '.')-strlen($dir));
$title = str_replace( array( '%', '_'), " ", $title);
$title = substr($title, 5);
$title = str_replace( array('', '_'), "", $title);
$imgname = $files[$i];
echo '<img src="'.$imgname.'" alt="blahblah '.$title.'" onLoad="this.width*=0.6;imgLoaded(this);" onError="this.onerror=null;this.src="bundles/blank.svg";">';
echo '</div>'; // .photo
echo '<figcaption>';
$title = preg_replace('/\'([^\']+)\'/', '<em>$1</em>', $title);
echo '<h2>'."". $title .'</h2>';
echo "<p>".$exif['IFD0']['ImageDescription']."</p>";
echo '</figcaption>';
echo '</figure>';
}
else {
echo "<td></td>";
}
if ($imgCnt%$perRow==0) echo "</tr><tr>";
echo '</div>'; // .item
}
closedir($open);
?>
</table>
</div> <!-- post -->
我尝试了很多东西,但我找不到解决方案。有什么想法会发生什么?
答案 0 :(得分:1)
为什么你不在表格中使用tr和td? 表标签内的div标签不正确。
答案 1 :(得分:0)
div标签可能不是表的直接子节点,但可以在td标签内使用。错误消息误导了我“表格内的div标签”。它可能是“内部”,而不是直接的孩子。
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<table>
<div>DIV is not allowed here</div>
<caption> This it the Caption
<div>This is a caption div -- why?</div>
</caption>
<tr> <!-- tr Row 1 may not contain text. -->
<td> Col 1 Stuff goes here.</td>
<td> Col 2 here.</td>
</tr>
<tr>
<td>Col 1 of Row 2 is here.</td>
<td>Col 2 Row 2
<div>Sub part A</div>
<div>Sub part B</div>
<div>Sub part C</div>
</td>
</tr>
</body>
</html>
给出错误 - 错误:启动表中显示的标记div。 从第8行第8列;到第9行,第8栏
↩↩↩DIV
致命错误:上次错误后无法恢复。任何进一步的错误都将被忽略。
当使用注释删除第8行时,错误消失。 第13行表明另一个类似的错误 - tr可能不直接包含文本。 现在给出了验证错误 - 错误:错误放置表格内的非空格字符。 这是类似的措辞,imho,误导。