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
- https://kohana.top/license
Class declared in SYSPATH/classes/Kohana/HTML.php on line 13.
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 = [];
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' , [ '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 ) . ' />' ;
}
|