PHP

PHP Menu

PHP

htmlspecialchars() Function - Definition, Syntax, Parameters, Examples

Definition

The htmlspecialchars() function converts some predefined characters to HTML entities.

Predefined characters:

  • & (ampersand) becomes &
  • " (double quote) becomes "
  • ' (single quote) becomes '
  • < (less than) becomes &lt;
  • > (greater than) becomes &gt;

Syntax

htmlspecialchars(string, flags, character-set, double_encode)

Parameters

Parameter Description
string Required. Specifies the string to convert.
flags Optional. Specifies how to handle quotes, invalid encoding and the used document type. 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
Invalid encoding:
ENT_IGNORE - Ignores invalid encoding instead of having the function return an empty string. Should be avoided, as it may have security implications.
ENT_SUBSTITUTE - Replaces invalid encoding for a specified character set with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; instead of returning an empty string.
ENT_DISALLOWED - Replaces code points that are invalid in the specified doctype with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD;
Additional flags for specifying the used doctype:
ENT_HTML401 - Default. Handle code as HTML 4.01
ENT_HTML5 - Handle code as HTML 5
ENT_XML1 - Handle code as XML 1
ENT_XHTML - Handle code as XHTML
character-set Optional. A string that specifies which character-set to use. Allowed values:
UTF-8 - Default. ASCII compatible multi-byte 8-bit Unicode
ISO-8859-1 - Western European
ISO-8859-15 - Western European (adds the Euro sign + French and Finnish letters missing in ISO-8859-1)
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
MacRoman - Character-set that was used by Mac OS
double_encode Optional. A boolean value that specifies whether to encode existing html entities or not.
true - Default. Will convert everything
false - Will not encode existing html entities

Example

<?php
$str = "This text is <b>bold</b>."; echo $str . "<br>"; echo htmlspecialchars($str) . "<br>";

Introduction

PHP Basics

PHP Advance

PHP OOP

PHP Functions and Methods