Logo
Tag Builder
Online Now: 0

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
This simple function can build XHTML tags for you really quickly
<?php
function buildTag($tag$att = array(), $selfColse FALSE$inner ''){
    
$t '<'.$tag.' ';
    foreach(
$att as $k => $v){
        
$t .= $k.'="'.$v.'"';
    }
    if(!
$selfColse)
        
$t .= '>';
    else
        
$t .= ' />';
    if(!
$selfColse)
        
$t .= $inner.'</'.$tag.'>';
    return 
$t;
}
// Example 1:
echo buildTag('input', array('type'=>'button''value'=>'WOOT!'), TRUE);

// Example 2:
echo buildTag('div', array('style'=>'border:solid 1px #000'), FALSEbuildTag('a', array('href'=>'http://google.com'), FALSE'Google'));
?>
 
Snippet Comments

Add Your Comment

Ethan B
2010-04-05 00:00:00
The above link is: code.google.com/p/eblackwelder/wiki/TagBuilderProject
Ethan B
2010-04-05 00:00:00
Not a bad example. I don't like having the self-closing parameter ($selfColse) before the innerHTML parameter (you can infer it's FALSE when inner isn't empty-string). I'd swap the two, and _maybe_ do a check that inner is FALSE-ish. I wrote an (X)HTML tag builder that uses a builder-like interface. (It also has "magic" ArrayAccess and attribute getters/setters, not shown here.) For example, the above examples would be written thus: type('button')->value('WOOT!'); //Example 2: $link = Tag::a('Google')->href(' echo Tag::div($link)->style('border:solid 1px #000'); ?> The "Tag" builder class is available under MIT license here: Notes: The code uses PHP 5 syntax. The (optional) __callStatic functionality is only available for PHP 5.3+ (or you can just use a regular constructor).

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: Intermediate
Current Score: 3.25
Total votes: 4
Total Views: 1483

Other top snippets by admin:

1. JPG to ASCII Converter
2. Add (th, st, nd, rd, th) to the end of a number
3. Dynamic Page Content From Links
4. AJAX Quickie
5. Simple Image CAPTCHA

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.83 of 87)

2.  Test Please Delete (2.83 of 30)

3.  Return all repeated (3.64 of 72)

4.  Convert an integer (3.3 of 71)

5.  URL Shortening for (2.75 of 52)

6.  Monthly Content Sorting (3 of 45)

7.  Show String Trimmed (2.97 of 65)

8.  Human readable file (2.01 of 70)

9.  Randomize array values (2.8 of 82)

10.  Create a recursive (3.35 of 55)

New Snippets

1.  Parse RFC822 date (4 of 1)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010