calendar2で不正なHTMLタグ出力

メッセージ

calendar2で不正なタグが出力されます。not Valid XHTML 1.1!

サンプル : :test_cal の出力

153:     <tr>
154:      <td class="style_td_week">日</td>
155:      <td class="style_td_week">月</td>
156:      <td class="style_td_week">火</td>
157:      <td class="style_td_week">水</td>
158:      <td class="style_td_week">木</td>
159:      <td class="style_td_week">金</td>
160:      <td class="style_td_week">土</td>
161:     </tr>
162:     <tr>
163:     </tr>
164:     <tr>
165:      <td class="style_td_sun">

1日が日曜日の場合、カレンダーに1日より前のブランク日が存在しない。calendar2はブランク日の出力の前後で、ブランク日が存在しないときにも<tr>及び</tr>を出力してしまっている。下記のように修正。-- reimy 2003-06-03 (火) 04:17:00

	foreach($weeklabels as $label) {
		$ret .= "     <td class=\"style_td_week\">$label</td>\n";
	}
	
-	$ret .= "    </tr>\n    <tr>\n";
	
	while (checkdate($m_num,$day,$year)) {
		$dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day);
		$page = $prefix.$dt;
		$r_page = rawurlencode($page);
		$s_page = htmlspecialchars($page);
		
		if ($fweek) {
+			if ($wday != 0) $ret .= "    </tr>\n    <tr>\n";
			for ($i = 0; $i < $wday; $i++) { // Blank 
				$ret .= "     <td class=\"style_td_blank\">&nbsp;</td>\n";
			}
			$fweek = FALSE;
		}
		
		if ($wday == 0) {
			$ret .= "    </tr>\n    <tr>\n";
		}

これでもいいかも。

	foreach($weeklabels as $label) {
		$ret .= "     <td class=\"style_td_week\">$label</td>\n";
	}
	
	$ret .= "    </tr>\n    <tr>\n";
	
	while (checkdate($m_num,$day,$year)) {
		$dt = sprintf('%4d-%02d-%02d', $year, $m_num, $day);
		$page = $prefix.$dt;
		$r_page = rawurlencode($page);
		$s_page = htmlspecialchars($page);
		
		if ($fweek) {
			for ($i = 0; $i < $wday; $i++) { // Blank 
				$ret .= "     <td class=\"style_td_blank\">&nbsp;</td>\n";
			}
			$fweek = FALSE;
		}

-		if ($wday == 0) {
+		if ($wday == 0 && $day > 1) {
			$ret .= "    </tr>\n    <tr>\n";
		}


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-06-04 (水) 11:09:57
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.274 sec.

SourceForge