Version: 0.9
Type: Class
Category: HTML
License: GNU Library Public License
Description: A set of classes that will allow you to build
HTML documents completely w/ objects in PHP.
This is only the most basic layer but it is
easy to build onto.
<? /* 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" , $arguments, FALSE ); } } class meta_element extends html_element { function meta_element( $arguments = array() ) { $this->html_element( "META", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } class area_element extends html_element { function area_element( $arguments = array() ) { $this->html_element( "AREA", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } class br_element extends html_element { function br_element( $arguments = array() ) { $this->html_element( "BR", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } 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", $arguments, FALSE ); } } 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" ); } } ?>