Saturday, 27 September 2014

htmlspecialchars in PHP

PHP htmlspecialchars() function is utilized to change over some special predefined characters to HTML elements.


The special predefined characters are:
& (ampersand) becomes &
" (double quote) becomes "
' (single quote) becomes '
< (less than) becomes <
> (greater than) becomes >

Syntax:
htmlspecialchars(string,quotestyle,character-set)

Parameters Description:
string : Required. Defines the input string.
quotestyle : Optional. Determine whether to convert single and double quotes.

The available quote styles are:
ENT_COMPAT - Default. Encodes only double quotes
ENT_QUOTES - Encodes double and single quotes
ENT_NOQUOTES - Does not encode any quotes

character-set : Optional. Refers the character set to be used.


Allowed values are:
ISO-8859-1 - Default. Western European
ISO-8859-15 - Western European (adds the Euro sign + French and Finnish letters missing in ISO-8859-1)
UTF-8 - ASCII compatible multi-byte 8-bit Unicode
cp866 - DOS-specific Cyrillic charset
cp1251 - Windows-specific Cyrillic charset
cp1252 - Windows specific charset for Western European
KOI8-R - Russian
BIG5 - Traditional Chinese, mainly used in Taiwan
GB2312 - Simplified Chinese, national standard character set
BIG5-HKSCS - Big5 with Hong Kong extensions
Shift_JIS - Japanese
EUC-JP - Japanese
Example:

<?php
$input_str = "Sam & 'Jack'";
echo htmlspecialchars($input_str, ENT_COMPACT);
echo "<br />";
echo htmlspecialchars($input_str, ENT_QOUTES);
echo "<br />";
echo htmlspecialchars($input_str, ENT_NOQOUTES);
?>

Output will be:
Sam & 'Jack'
Sam & 'Jack'
Sam & 'Jack'

View source
<html>
<body>
Sam &amp; 'Jack'<br />
Sam &amp; &#039;Jack&#039;<br />
Sam &amp; 'Jack'
</body>
</html>

0 comments:

Post a Comment