Kohana_HTML
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
$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 FALSE ] )
(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 FALSE - Include the index page
Tags
Return Values
Source Code
public static function anchor( $uri , $title = NULL, array $attributes = NULL, $protocol = NULL, $index = FALSE)
{
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] !== '#' )
{
$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 ;
}
$compiled .= ' ' . $key . '="' .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 email( string $email )
(defined in Kohana_HTML)
link to this
Generates an obfuscated version of an email address. Helps prevent spam
robots from finding email addresses.
echo HTML::email( $address );
|
Parameters
-
string
$email
required - Email address
Tags
Return Values
Source Code
public static function email( $email )
{
return str_replace ( '@' , '@' , HTML::obfuscate( $email ));
}
|
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::base( $protocol , $index ). $file ;
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::base( $protocol , $index ). $file ;
}
$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)
{
$email = HTML::email( $email );
if ( $title === NULL)
{
$title = $email ;
}
return '<a href="mailto:' . $email . '"' .HTML::attributes( $attributes ). '>' . $title . '</a>' ;
}
|
public static obfuscate( string $string )
(defined in Kohana_HTML)
link to this
Generates an obfuscated version of a string. Text passed through this
method is less likely to be read by web crawlers and robots, which can
be helpful for spam prevention, but can prevent legitimate robots from
reading your content.
echo HTML::obfuscate( $text );
|
Parameters
-
string
$string
required - String to obfuscate
Tags
Return Values
Source Code
public static function obfuscate( $string )
{
$safe = '' ;
foreach ( str_split ( $string ) as $letter )
{
switch (rand(1, 3))
{
case 1:
$safe .= '&#' .ord( $letter ). ';' ;
break ;
case 2:
$safe .= '&#x' . dechex (ord( $letter )). ';' ;
break ;
case 3:
$safe .= $letter ;
}
}
return $safe ;
}
|
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)
{
$file = URL::base( $protocol , $index ). $file ;
}
$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)
{
$file = URL::base( $protocol , $index ). $file ;
}
$attributes [ 'href' ] = $file ;
$attributes [ 'rel' ] = 'stylesheet' ;
$attributes [ 'type' ] = 'text/css' ;
return '<link' .HTML::attributes( $attributes ). ' />' ;
}
|