- 追加された行はこの色です。
- 削除された行はこの色です。
*#relatedの出力でタグの不整合 [#vc6cea0c]
-ページ: BugTrack
-投稿者: [[reimy]]
-優先順位: 重要
-状態: 完了
-カテゴリー: 本体バグ
-投稿日: 2003-06-26 (木) 02:07:33
-バージョン: 1.3.x/1.4rc3
**メッセージ [#n47bbdc1]
~#relatedの出力でHTMLのタグ出力が不整合を起こしてます。
~1.4系と1.3系の両方で不整合が起きますが、その出力は微妙に異なります。
-[[1.3.4のサンプル>pukiwiki:kawara#content_1_1]]
<ul>
<li>....</li>
<li>....</li>
............
<li>....</li>
<li>....</li>
</ul>
となるべきところが、
.....</li>
<li>....</li>
...........
<li>....</li>
<li>....
と出力されてしまっている。開始部分の<ul><li>と終了部分の</li></ul>が欠落。
-[[1.4rc3のサンプル>雑談#v771ff81]]
<ul>
<li>....</li>
<li>....</li>
............
<li>....</li>
<li>....</li>
</ul>
となるべきところが、
<p>.....</li>
<li>....</li>
...........
<li>....</li>
<li>....</p>
と出力されてしまっている。開始部分の<ul><li>が<p>に、終了部分の</li></ul>が</p>に化けている。
----
-とりあえず現状は、#relatedは下記のように使うしかない。仕様とするなら、注意書が必要かも。 -- [[reimy]] &new{2003-06-26 (木) 05:17:21};
-#related
-そういう仕様だと思っていました。#relatedはリストの中で使うものだと。たとえば以下のように。 -- [[ぱんだ]] &new{2003-06-26 (木) 23:45:30};
- 関連するページ名
-- #related
-どこにもそういう注意書がないので、旧PukiWiki.orgサイト内で#relatedを行頭で使ってる人が何人もいました。ヘルプでは#relatedや#norelatedはわざと書いてないからなあ… -- [[reimy]] &new{2003-06-27 (金) 01:09:04};
-どこにもそういう注意書がないので、旧PukiWiki-officialサイト内で#relatedを行頭で使ってる人が何人もいました。ヘルプでは#relatedや#norelatedはわざと書いてないからなあ… -- [[reimy]] &new{2003-06-27 (金) 01:09:04};
-それっぽいコメントが残っているので、動くようにするなら下のような感じでしょうか。 -- [[masao]] &new{2003-06-28 (土) 08:03:02};
Index: convert_html.php
===================================================================
RCS file: /cvsroot/pukiwiki/pukiwiki/convert_html.php,v
retrieving revision 1.45
diff -u -r1.45 convert_html.php
--- convert_html.php 12 Jun 2003 00:44:30 -0000 1.45
+++ convert_html.php 27 Jun 2003 23:00:13 -0000
@@ -831,7 +831,8 @@
// 関連するページ
// <p>のときは行頭から、<del>のときは他の要素の子要素として存在
- $text = preg_replace('/<(p|del)>#related<\/\1>/e','make_related($vars[\'page\'],\'$1\')',$text);
+ $text = preg_replace('/<p><del>#related<\/del><\/p>/',make_related($vars['page'],'p'),$text);
+ $text = preg_replace('/<del>#related<\/del>/',make_related($vars['page']),$text);
return $text;
}
function block(&$lines,$start,$end,$class)
Index: html.php
===================================================================
RCS file: /cvsroot/pukiwiki/pukiwiki/html.php,v
retrieving revision 1.82
diff -u -r1.82 html.php
--- html.php 22 Jun 2003 05:47:17 -0000 1.82
+++ html.php 27 Jun 2003 23:00:13 -0000
@@ -244,16 +244,11 @@
"<a href=\"$script?$r_page\">$s_page</a>$passage";
}
- if ($tag) {
- $retval = join($rule_related_str,$_links);
- if ($tag == 'p') {
- $margin = $_ul_left_margin + $_ul_margin;
- $style = sprintf($_list_pad_str,1,$margin,$margin);
- $retval = "\n<ul class=\"list1\" style=\"$style\">\n<li>$retval</li>\n</ul>\n";
- }
- }
- else {
- $retval = join($related_str,$_links);
+ $retval = join($rule_related_str,$_links);
+ if ($tag == 'p') {
+ $margin = $_ul_left_margin + $_ul_margin;
+ $style = sprintf($_list_pad_str,1,$margin,$margin);
+ $retval = "\n<ul $style>\n<li>$retval</li>\n</ul>\n";
}
return $retval;
}
-あ。そういえばそんなコードを仕込んだ記憶が。動かなくなってたんですね。失礼しました。[[masao]]さんのコードを取り込みました。 -- [[ぱんだ]] &new{2003-06-30 (月) 09:38:58};
-- [[cvs:convert_html.php]](v1.4:r1.47)
-- [[cvs:html.php]](v1.4:r1.84)
-あぅ。ごめんなさい。下手にロジックをいじったせいでバグを入れ込んだみたいです。今度は 「-#related」 の方がうまくいかなくなってしまってますね。 -- [[masao]] &new{2003-07-04 (金) 19:08:36};
#comment
diff -u -r1.47 convert_html.php
--- convert_html.php 30 Jun 2003 00:38:21 -0000 1.47
+++ convert_html.php 4 Jul 2003 10:10:31 -0000
@@ -832,7 +832,7 @@
// 関連するページ
// <p>のときは行頭から、<del>のときは他の要素の子要素として存在
$text = preg_replace('/<p><del>#related<\/del><\/p>/',make_related($vars['page'],'p'),$text);
- $text = preg_replace('/<del>#related<\/del>/',make_related($vars['page']),$text);
+ $text = preg_replace('/<del>#related<\/del>/',make_related($vars['page'], 'del'),$text);
return $text;
}
function block(&$lines,$start,$end,$class)
diff -u -r1.86 html.php
--- html.php 30 Jun 2003 06:12:28 -0000 1.86
+++ html.php 4 Jul 2003 10:10:31 -0000
@@ -244,11 +244,15 @@
"<a href=\"$script?$r_page\">$s_page</a>$passage";
}
- if ($tag == 'p')
+ if ($tag)
{
- $margin = $_ul_left_margin + $_ul_margin;
- $style = sprintf($_list_pad_str,1,$margin,$margin);
- $retval = "\n<ul $style>\n<li>".join($rule_related_str,$_links)."</li>\n</ul>\n";
+ $retval = join($rule_related_str,$_links);
+ if ($tag == 'p')
+ {
+ $margin = $_ul_left_margin + $_ul_margin;
+ $style = sprintf($_list_pad_str,1,$margin,$margin);
+ $retval = "\n<ul $style>\n<li>".join($rule_related_str,$_links)."</li>\n</ul>\n";
+ }
}
else
{
-cvsに投入しました。 -- [[ぱんだ]] &new{2003-07-05 (土) 21:23:13};
-- [[cvs:html.php]](v1.4:r1.88 - r1.89)
-- [[cvs:convert_html.php]](v1.4:r1.48)
//#comment