Kohana_HTML
This class is a transparent base class for HTML and
should not be accessed directly.
HTML helper class. Provides generic methods for generating various HTML
tags and making output HTML safe.
- package
- Kohana
- category
- Helpers
- author
- Kohana Team
- copyright
- © 2007-2012 Kohana Team
- license
- http://kohanaframework.org/license
Class declared in SYSPATH/classes/Kohana/HTML.php on line 12.
public static array
$attribute_orderlink to this
preferred order of attributes
array(28) (
0 => string(6) "action"
1 => string(6) "method"
2 => string(4) "type"
3 => string(2) "id"
4 => string(4) "name"
5 => string(5) "value"
6 => string(4) "href"
7 => string(3) "src"
8 => string(5) "width"
9 => string(6) "height"
10 => string(4) "cols"
11 => string(4) "rows"
12 => string(4) "size"
13 => string(9) "maxlength"
14 => string(3) "rel"
15 => string(5) "media"
16 => string(14) "accept-charset"
17 => string(6) "accept"
18 => string(8) "tabindex"
19 => string(9) "accesskey"
20 => string(3) "alt"
21 => string(5) "title"
22 => string(5) "class"
23 => string(5) "style"
24 => string(8) "selected"
25 => string(7) "checked"
26 => string(8) "readonly"
27 => string(8) "disabled"
)
public static boolean
$strictlink to this
use strict XHTML mode?
bool TRUE
public static boolean
$windowed_urlslink to this
automatically target external URLs to a new window?
bool FALSE
public static anchor( string $uri [, string $title = NULL , array $attributes = NULL , mixed $protocol = NULL , boolean $index = bool TRUE ] )
(defined in Kohana_HTML)
link to this
Create HTML link anchors. Note that the title is not escaped, to allow
HTML elements within links (images, etc).
echo HTML::anchor( '/user/profile' , 'My Profile' );
|
Parameters
-
string
$uri
required - URL or URI string
-
string
$title
= NULL - Link text
-
array
$attributes
= NULL - HTML anchor attributes
-
mixed
$protocol
= NULL - Protocol to pass to URL::base()
-
boolean
$index
= bool TRUE - Include the index page
Tags
Return Values
Source Code
public static function anchor( $uri , $title = NULL, array $attributes = NULL, $protocol = NULL, $index = TRUE)
{
if ( $title === NULL)
{
$title = $uri ;
}
if ( $uri === '' )
{
$uri = URL::base( $protocol , $index );
}
else
{
if ( strpos ( $uri , '://' ) !== FALSE)
{
if (HTML:: $windowed_urls === TRUE AND empty ( $attributes [ 'target' ]))
{
$attributes [ 'target' ] = '_blank' ;
}
}
elseif ( $uri [0] !== '#' AND $uri [0] !== '?' )
{
$uri = URL::site( $uri , $protocol , $index );
}
}
$attributes [ 'href' ] = $uri ;
return '<a' .HTML::attributes( $attributes ). '>' . $title . '</a>' ;
}
|
public static attributes( [ array $attributes = NULL ] )
(defined in Kohana_HTML)
link to this
Compiles an array of HTML attributes into an attribute string.
Attributes will be sorted using HTML::$attribute_order for consistency.
echo '<div' .HTML::attributes( $attrs ). '>' . $content . '</div>' ;
|
Parameters
-
array
$attributes
= NULL - Attribute list
Return Values
Source Code
public static function attributes( array $attributes = NULL)
{
if ( empty ( $attributes ))
return '' ;
$sorted = array ();
foreach (HTML:: $attribute_order as $key )
{
if (isset( $attributes [ $key ]))
{
$sorted [ $key ] = $attributes [ $key ];
}
}
$attributes = $sorted + $attributes ;
$compiled = '' ;
foreach ( $attributes as $key => $value )
{
if ( $value === NULL)
{
continue ;
}
if ( is_int ( $key ))
{
$key = $value ;
if ( ! HTML:: $strict )
{
$value = FALSE;
}
}
$compiled .= ' ' . $key ;
if ( $value OR HTML:: $strict )
{
$compiled .= '="' .HTML::chars( $value ). '"' ;
}
}
return $compiled ;
}
|
public static chars( string $value [, boolean $double_encode = bool TRUE ] )
(defined in Kohana_HTML)
link to this
Convert special characters to HTML entities. All untrusted content
should be passed through this method to prevent XSS injections.
echo HTML::chars( $username );
|
Parameters
-
string
$value
required - String to convert
-
boolean
$double_encode
= bool TRUE - Encode existing entities
Return Values
Source Code
public static function chars( $value , $double_encode = TRUE)
{
return htmlspecialchars( (string) $value , ENT_QUOTES, Kohana:: $charset , $double_encode );
}
|
public static entities( string $value [, boolean $double_encode = bool TRUE ] )
(defined in Kohana_HTML)
link to this
Convert all applicable characters to HTML entities. All characters
that cannot be represented in HTML with the current character set
will be converted to entities.
echo HTML::entities( $username );
|
Parameters
-
string
$value
required - String to convert
-
boolean
$double_encode
= bool TRUE - Encode existing entities
Return Values
Source Code
public static function entities( $value , $double_encode = TRUE)
{
return htmlentities( (string) $value , ENT_QUOTES, Kohana:: $charset , $double_encode );
}
|
public static file_anchor( string $file [, string $title = NULL , array $attributes = NULL , mixed $protocol = NULL , boolean $index = bool FALSE ] )
(defined in Kohana_HTML)
link to this
Creates an HTML anchor to a file. Note that the title is not escaped,
to allow HTML elements within links (images, etc).
echo HTML::file_anchor( 'media/doc/user_guide.pdf' , 'User Guide' );
|
Parameters
-
string
$file
required - Name of file to link to
-
string
$title
= NULL - Link text
-
array
$attributes
= NULL - HTML anchor attributes
-
mixed
$protocol
= NULL - Protocol to pass to URL::base()
-
boolean
$index
= bool FALSE - Include the index page
Tags
Return Values
Source Code
public static function file_anchor( $file , $title = NULL, array $attributes = NULL, $protocol = NULL, $index = FALSE)
{
if ( $title === NULL)
{
$title = basename ( $file );
}
$attributes [ 'href' ] = URL::site( $file , $protocol , $index );
return '<a' .HTML::attributes( $attributes ). '>' . $title . '</a>' ;
}
|
public static image( string $file [, array $attributes = NULL , mixed $protocol = NULL , boolean $index = bool FALSE ] )
(defined in Kohana_HTML)
link to this
Creates a image link.
echo HTML::image( 'media/img/logo.png' , array ( 'alt' => 'My Company' ));
|
Parameters
-
string
$file
required - File name
-
array
$attributes
= NULL - Default attributes
-
mixed
$protocol
= NULL - Protocol to pass to URL::base()
-
boolean
$index
= bool FALSE - Include the index page
Tags
Return Values
Source Code
public static function image( $file , array $attributes = NULL, $protocol = NULL, $index = FALSE)
{
if ( strpos ( $file , '://' ) === FALSE)
{
$file = URL::site( $file , $protocol , $index );
}
$attributes [ 'src' ] = $file ;
return '<img' .HTML::attributes( $attributes ). ' />' ;
}
|
public static mailto( string $email [, string $title = NULL , array $attributes = NULL ] )
(defined in Kohana_HTML)
link to this
Creates an email (mailto:) anchor. Note that the title is not escaped,
to allow HTML elements within links (images, etc).
echo HTML::mailto( $address );
|
Parameters
-
string
$email
required - Email address to send to
-
string
$title
= NULL - Link text
-
array
$attributes
= NULL - HTML anchor attributes
Tags
Return Values
Source Code
public static function mailto( $email , $title = NULL, array $attributes = NULL)
{
if ( $title === NULL)
{
$title = $email ;
}
return '<a href="mailto:' . $email . '"' .HTML::attributes( $attributes ). '>' . $title . '</a>' ;
}
|
public static script( string $file [, array $attributes = NULL , mixed $protocol = NULL , boolean $index = bool FALSE ] )
(defined in Kohana_HTML)
link to this
Creates a script link.
echo HTML::script( 'media/js/jquery.min.js' );
|
Parameters
-
string
$file
required - File name
-
array
$attributes
= NULL - Default attributes
-
mixed
$protocol
= NULL - Protocol to pass to URL::base()
-
boolean
$index
= bool FALSE - Include the index page
Tags
Return Values
Source Code
public static function script( $file , array $attributes = NULL, $protocol = NULL, $index = FALSE)
{
if ( strpos ( $file , '://' ) === FALSE AND strpos ( $file , '//' ) !== 0)
{
$file = URL::site( $file , $protocol , $index );
}
$attributes [ 'src' ] = $file ;
$attributes [ 'type' ] = 'text/javascript' ;
return '<script' .HTML::attributes( $attributes ). '></script>' ;
}
|
public static style( string $file [, array $attributes = NULL , mixed $protocol = NULL , boolean $index = bool FALSE ] )
(defined in Kohana_HTML)
link to this
Creates a style sheet link element.
echo HTML::style( 'media/css/screen.css' );
|
Parameters
-
string
$file
required - File name
-
array
$attributes
= NULL - Default attributes
-
mixed
$protocol
= NULL - Protocol to pass to URL::base()
-
boolean
$index
= bool FALSE - Include the index page
Tags
Return Values
Source Code
public static function style( $file , array $attributes = NULL, $protocol = NULL, $index = FALSE)
{
if ( strpos ( $file , '://' ) === FALSE AND strpos ( $file , '//' ) !== 0)
{
$file = URL::site( $file , $protocol , $index );
}
$attributes [ 'href' ] = $file ;
$attributes [ 'rel' ] = empty ( $attributes [ 'rel' ]) ? 'stylesheet' : $attributes [ 'rel' ];
$attributes [ 'type' ] = 'text/css' ;
return '<link' .HTML::attributes( $attributes ). ' />' ;
}
|