#contents *lib/convert_html.php [#n117a19d] 対象のリビジョン: $Id:??$ **convert_html($lines) [#y9ffd3fb] -[[PukiWiki書式>FormattingRules]]のテキストをHTML書式へと変換するために呼び出される --$lines は文字列、または1行1要素の配列 ---- これより下の各クラス、関数は、外部から直接呼び出すことは無いと思われるので、リスト化を後回しします **Element クラス [#g3eaa0f9] 各[[ブロック要素>FormattingRules#vd593893]]の雛形 このクラス内には変更を加えないでください ***Element() [#k2178639] -初期化用 --直接または間接(親の親など)的に、派生したクラスの初期化時にElementクラスのElement関数を呼び出す必要がある ***setParent(& $parent) [#s81150e2] -親クラスの登録 --派生したクラスで、この関数の登録・変更は基本的に行わない ***& add(& $obj) [#q6ee577f] -判定結果を元に、ブロック要素を自分または親の子として追加 --$objはElement クラスから派生したクラス --派生したクラスで、この関数の登録・変更は基本的に行わない ***& insert(& $obj) [#wff6aaf5] -ブロック要素を自分の子として追加 --$objはElement クラスから派生したクラス --判定させず強制的に子として追加するために、初期化時などで使うことがある --派生したクラスのinsert関数からElementクラスのinsert関数を呼び出さない場合、明示的に子要素の$objに対して自分($this)を親として登録しないと、親をたどれなくなりPHPエラーが発生するので注意 --次の要素の追加処理または親への追加処理へとつなげるため、自分または子のクラスを返す必要があります ***canContain($obj) [#qd25f24e] -ブロック要素を子要素に追加することを許可するかを判定 --$objはElement クラスから派生したクラス ***wrap($string, $tag, $param = '', $canomit = TRUE) [#k65af0fc] -HTMLタグで包む作業を担当 --$stringは、エスケープ済みの文字列またはHTMLソース --$tagは、HTMLタグ名 ---そのまま出力されるため、小文字を使ってください(XHTML準拠ではなくなってしまいます) --$paramは、タグに入れるパラメータやスクリプトなど ---そのままタグ名のとなりに出力されるため、エスケープ処理などをするのは当然として、空文字以外の出力をする場合は最初にスペースを入れるなどしてタグ名と誤解されないように注意してください --$canomitをFALSEとした場合のみ、中身($string)が空の場合でもHTMLタグを作成します ***toString() [#ab5f13a5] -出力用に変換(現状は(X)HTML専用) --そのまま出力されるので、取り扱い注意 ***dump($indent = 0) [#r33c24aa] -ダンプ表示用 --派生したクラスで、この関数の登録・変更は基本的に行わない