一个生成html格式的类 ObjectHTML v0.9
<?    /* Object HTML v.0.9    (LGPL)            */
    /* An object oriented way of working w/ HTML.    */
    /* Michael Ogmios <[email protected]>    */

class plaintext {
 
/* An object for storing a chunk of text until needed. */

 
var $text;

 function 
plaintext $text "" ) {
  
$this->text $text;
 }

 function 
fetch() {
  return 
$this->text "n";
 }
}

class 
html_element {
 
/* An object for building HTML documents, allows you to specify the type
    of tag, it's arguments, and embed other HTML tags and text as objects
    inside of it. */

 
var $tag;
 var 
$arguments;
 var 
$is_container;
 var 
$contents = array();

 function 
html_element$tag "HTML"$arguments = array(), $is_container TRUE ) {
  
$this->tag $tag;    // Name of the tag.
  
$this->arguments $arguments;    // Array of argument/value pairs.
  
$this->is_container $is_container;    // Is this a containing object?
 
}

 function 
add_element$element ) {
  
$this->contents[] = $element;
 }

 function 
fetch() {
  
$html $this->build_opening_tag() . "n";

  if( 
$this->is_container ) {
   
$html $html $this->fetch_content();
   
$html $html $this->build_closing_tag() . "n";
  }

  return 
$html;
 }

 function 
fetch_content() {
  
$html "";

  foreach( 
$this->contents as $element ) {
   
$html $html $element->fetch();
  }

  return 
$html;
 }

 function 
build_arguments() {
  
$arg_str "";

  while( list( 
$key$value ) = each$this->arguments ) ) {
   
$arg_str $arg_str " " $key "=" $value;
  }

  return 
$arg_str;
 }

 function 
build_opening_tag() {
  return 
"<" $this->tag $this->build_arguments() . ">";
 }

 function 
build_closing_tag() {
  return 
"</" $this->tag ">";
 }
}

class 
head_element extends html_element {

 function 
head_element() {
  
$this->html_element"HEAD" );
 }
}

class 
body_element extends html_element {

 function 
body_element$arguments = array() ) {
  
$this->html_element"BODY"$arguments );
 }
}

class 
title_element extends html_element {

 function 
title_element() {
  
$this->html_element"TITLE" );
 }
}

class 
base_element extends html_element {

 function 
base_element$arguments = array() ) {
  
$this->html_element"BASE" $argumentsFALSE );
 }
}

class 
meta_element extends html_element {

 function 
meta_element$arguments = array() ) {
  
$this->html_element"META"$argumentsFALSE );
 }
}

class 
style_element extends html_element {

 function 
style_element$arguments = array() ) {
  
$this->html_element"STYLE"$arguments );
 }
}

class 
link_element extends html_element {

 function 
link_element$arguments = array() ) {
  
$this->html_element"LINK"$arguments );
 }
}

class 
address_element extends html_element {

 function 
address_element$arguments = array() ) {
  
$this->html_element"ADDRESS"$arguments );
 }
}

class 
blockquote_element extends html_element {

 function 
blockquote_element$arguments = array() ) {
  
$this->html_element"BLOCKQUOTE"$arguments );
 }
}

class 
div_element extends html_element {

 function 
div_element$arguments = array() ) {
  
$this->html_element"DIV"$arguments );
 }
}

class 
h1_element extends html_element {

 function 
h1_element$arguments = array() ) {
  
$this->html_element"H1"$arguments );
 }
}

class 
h2_element extends html_element {

 function 
h2_element$arguments = array() ) {
  
$this->html_element"H2"$arguments );
 }
}

class 
h3_element extends html_element {

 function 
h3_element$arguments = array() ) {
  
$this->html_element"H3"$arguments );
 }
}

class 
h4_element extends html_element {

 function 
h4_element$arguments = array() ) {
  
$this->html_element"H4"$arguments );
 }
}

class 
h5_element extends html_element {

 function 
h5_element$arguments = array() ) {
  
$this->html_element"H5"$arguments );
 }
}

class 
h6_element extends html_element {

 function 
h6_element$arguments = array() ) {
  
$this->html_element"H6"$arguments );
 }
}

class 
p_element extends html_element {

 function 
p_element$arguments = array() ) {
  
$this->html_element"P"$arguments );
 }
}

class 
pre_element extends html_element {

 function 
pre_element$arguments = array() ) {
  
$this->html_element"PRE"$arguments );
 }
}

class 
xmp_element extends html_element {

 function 
xmp_element$arguments = array() ) {
  
$this->html_element"XMP"$arguments );
 }
}

class 
dir_element extends html_element {

 function 
dir_element$arguments = array() ) {
  
$this->html_element"DIR"$arguments );
 }
}

class 
dl_element extends html_element {

 function 
dl_element$arguments = array() ) {
  
$this->html_element"DL"$arguments );
 }
}

class 
dt_element extends html_element {

 function 
dt_element$arguments = array() ) {
  
$this->html_element"DT"$argumentsFALSE );
 }
}

class 
dd_element extends html_element {

 function 
dd_element$arguments = array() ) {
  
$this->html_element"DD"$arguments );
 }
}

class 
menu_element extends html_element {

 function 
menu_element$arguments = array() ) {
  
$this->html_element"MENU"$arguments );
 }
}

class 
ol_element extends html_element {

 function 
ol_element$arguments = array() ) {
  
$this->html_element"OL"$arguments );
 }
}

class 
ul_element extends html_element {

 function 
ul_element$arguments = array() ) {
  
$this->html_element"UL"$arguments );
 }
}

class 
li_element extends html_element {

 function 
li_element$arguments = array() ) {
  
$this->html_element"LI"$arguments );
 }
}

class 
b_element extends html_element {

 function 
b_element$arguments = array() ) {
  
$this->html_element"B"$arguments );
 }
}

class 
basefont_element extends html_element {

 function 
basefont_element$arguments = array() ) {
  
$this->html_element"BASEFONT"$argumentsFALSE );
 }
}

class 
big_element extends html_element {

 function 
big_element() {
  
$this->html_element"BIG" );
 }
}

class 
blink_element extends html_element {

 function 
blink_element() {
  
$this->html_element"BLINK" );
 }
}

class 
cite_element extends html_element {

 function 
cite_element() {
  
$this->html_element"CITE" );
 }
}

class 
code_element extends html_element {

 function 
code_element() {
  
$this->html_element"CODE" );
 }
}

class 
em_element extends html_element {

 function 
em_element() {
  
$this->html_element"EM" );
 }
}

class 
font_element extends html_element {

 function 
font_element$arguments = array() ) {
  
$this->html_element"FONT"$arguments );
 }
}

class 
i_element extends html_element {

 function 
i_element() {
  
$this->html_element"I" );
 }
}

class 
kbd_element extends html_element {

 function 
kbd_element() {
  
$this->html_element"KBD" );
 }
}

class 
plaintext_element extends html_element {

 function 
plaintext_element() {
  
$this->html_element"PLAINTEXT" );
 }
}

class 
s_element extends html_element {

 function 
s_element() {
  
$this->html_element"S" );
 }
}

class 
small_element extends html_element {

 function 
small_element() {
  
$this->html_element"SMALL" );
 }
}

class 
strike_element extends html_element {

 function 
strike_element() {
  
$this->html_element"STRIKE" );
 }
}

class 
strong_element extends html_element {

 function 
strong_element() {
  
$this->html_element"STRONG" );
 }
}

class 
sub_element extends html_element {

 function 
sub_element() {
  
$this->html_element"SUB" );
 }
}

class 
sup_element extends html_element {

 function 
sup_element() {
  
$this->html_element"SUP" );
 }
}

class 
tt_element extends html_element {

 function 
tt_element() {
  
$this->html_element"TT" );
 }
}

class 
u_element extends html_element {

 function 
u_element() {
  
$this->html_element"U" );
 }
}

class 
var_element extends html_element {

 function 
var_element() {
  
$this->html_element"VAR" );
 }
}

class 
a_element extends html_element {

 function 
a_element$arguments = array() ) {
  
$this->html_element"A"$arguments );
 }
}

class 
img_element extends html_element {

 function 
img_element$arguments = array() ) {
  
$this->html_element"IMG"$argumentsFALSE );
 }
}

class 
area_element extends html_element {

 function 
area_element$arguments = array() ) {
  
$this->html_element"AREA"$argumentsFALSE );
 }
}

class 
map_element extends html_element {

 function 
map_element$arguments = array() ) {
  
$this->html_element"MAP"$arguments );
 }
}

class 
table_element extends html_element {

 function 
table_element$arguments = array() ) {
  
$this->html_element"TABLE"$arguments );
 }
}

class 
caption_element extends html_element {

 function 
caption_element$arguments = array() ) {
  
$this->html_element"CAPTION"$arguments );
 }
}

class 
tr_element extends html_element {

 function 
tr_element$arguments = array() ) {
  
$this->html_element"TR"$arguments );
 }
}

class 
td_element extends html_element {

 function 
td_element$arguments = array() ) {
  
$this->html_element"TD"$arguments );
 }
}

class 
th_element extends html_element {

 function 
th_element$arguments = array() ) {
  
$this->html_element"TH"$arguments );
 }
}

class 
form_element extends html_element {

 function 
form_element$arguments = array() ) {
  
$this->html_element"FORM"$arguments );
 }
}

class 
input_element extends html_element {

 function 
input_element$arguments = array() ) {
  
$this->html_element"INPUT"$argumentsFALSE );
 }
}

class 
select_element extends html_element {

 function 
select_element$arguments = array() ) {
  
$this->html_element"SELECT"$arguments );
 }
}

class 
option_element extends html_element {

 function 
option_element$arguments = array() ) {
  
$this->html_element"OPTION"$arguments );
 }
}

class 
textarea_element extends html_element {

 function 
textarea_element$arguments = array() ) {
  
$this->html_element"TEXTAREA"$arguments );
 }
}

class 
keygen_element extends html_element {

 function 
keygen_element$arguments = array() ) {
  
$this->html_element"KEYGEN"$arguments );
 }
}

class 
isindex_element extends html_element {

 function 
isindex_element$arguments = array() ) {
  
$this->html_element"ISINDEX"$arguments );
 }
}

class 
frame_element extends html_element {

 function 
frame_element$arguments = array() ) {
  
$this->html_element"FRAME"$arguments );
 }
}

class 
frameset_element extends html_element {

 function 
frameset_element$arguments = array() ) {
  
$this->html_element"FRAMESET"$arguments );
 }
}

class 
noframes_element extends html_element {

 function 
noframes_element() {
  
$this->html_element"NOFRAMES" );
 }
}

class 
layer_element extends html_element {

 function 
layer_element$arguments = array() ) {
  
$this->html_element"LAYER"$arguments );
 }
}

class 
ilayer_element extends html_element {

 function 
ilayer_element$arguments = array() ) {
  
$this->html_element"ILAYER"$arguments );
 }
}

class 
nolayer_element extends html_element {

 function 
nolayer_element() {
  
$this->html_element"NOLAYER" );
 }
}

class 
script_element extends html_element {

 function 
script_element$arguments = array() ) {
  
$this->html_element"SCRIPT"$arguments );
 }
}

class 
noscript_element extends html_element {

 function 
noscript_element() {
  
$this->html_element"NOSCRIPT" );
 }
}

class 
server_element extends html_element {

 function 
server_element() {
  
$this->html_element"SERVER" );
 }
}

class 
applet_element extends html_element {

 function 
applet_element$arguments = array() ) {
  
$this->html_element"APPLET"$arguments );
 }
}

class 
param_element extends html_element {

 function 
param_element$arguments = array() ) {
  
$this->html_element"PARAM"$argumentsFALSE );
 }
}

class 
embed_element extends html_element {

 function 
embed_element$arguments = array() ) {
  
$this->html_element"EMBED"$arguments );
 }
}

class 
noembed_element extends html_element {

 function 
noembed_element() {
  
$this->html_element"NOEMBED" );
 }
}

class 
object_element extends html_element {

 function 
object_element$arguments = array() ) {
  
$this->html_element"OBJECT"$argumentsFALSE );
 }
}

class 
br_element extends html_element {

 function 
br_element$arguments = array() ) {
  
$this->html_element"BR"$argumentsFALSE );
 }
}

class 
center_element extends html_element {

 function 
_element$arguments = array() ) {
  
$this->html_element"CENTER"$arguments );
 }
}

class 
hr_element extends html_element {

 function 
hr_element$arguments = array() ) {
  
$this->html_element"HR"$argumentsFALSE );
 }
}

class 
multicol_element extends html_element {

 function 
multicol_element$arguments = array() ) {
  
$this->html_element"MULTICOL"$arguments );
 }
}

class 
nobr_element extends html_element {

 function 
nobr_element() {
  
$this->html_element"NOBR" );
 }
}

class 
spacer_element extends html_element {

 function 
spacer_element$arguments = array() ) {
  
$this->html_element"SPACER"$argumentsFALSE );
 }
}

class 
span_element extends html_element {

 function 
span_element$arguments = array() ) {
  
$this->html_element"SPAN"$arguments );
 }
}

class 
wbr_element extends html_element {

 function 
wbr_element() {
  
$this->html_element"WBR" );
 }
}

?>