PHP mb_encode_numericentity() Function
The mb_encode_numercentity() function is an inbuilt function in PHP that is used to encode HTML entities with numerical values encoded using either decimal or hexadecimal representation.
Syntax:
string mb_encode_numericentity(
string $string,
array $map,
string $encoding,
bool $hex
)
Parameters: This function accepts four parameters that are described below.
- $string: The input string to encode.
- $map: An array that sets the range of Unicode characters to encode. The array is of the form array (start, end, offset, mask).
- $encoding: The character encoding of the input and output strings.
- $hex: An array that sets the range of Unicode characters to encode. The array is of the form array (start, end, offset, mask).
Return Values: The mb_encode_numericentity() function returns the encoded string, or "false" if an error occurs.
Examples of PHP mb_encode_numericentity() Function
Example 1: The following program demonstrates the mb_decode_numercentity() function.
<?php
$text = "I ♥ PHP!";
// Encode special characters as HTML entities
$encodedText = mb_encode_numericentity($text,
[0x80, 0xffff, 0, 0xffff], 'UTF-8');
echo $encodedText;
?>
Output
I ♥ PHP!
Example 2: The following program demonstrates the mb_decode_numercentity() function.
<?php
$text = "Hello, <b>World</b>";
// Array of tags to check for
$tagsToEncode = ['<b>', '<strong>', '<i>', '<em>'];
// Encode special characters as HTML entities
// if the string contains any specified tags
foreach ($tagsToEncode as $tag) {
if (strpos($text, $tag) !== false) {
$encodedText = mb_encode_numericentity( $text,
[0x80, 0xffff, 0, 0xffff], 'UTF-8');
break;
} else {
$encodedText = $text;
}
}
echo $encodedText;
?>
Output
Hello, <b>World</b>
Example 3: The following program demonstrates the mb_decode_numercentity() function.
<?php
$userContent = "<p>This is a <strong>test</strong> article with some entities.</p>";
// Function to decode HTML entities
function decodeUserContent($content) {
return mb_decode_numericentity($content, array(0x0, 0x10FFFF, 0, 'UTF-8'));
}
// Display the user-submitted content safely
echo decodeUserContent($userContent);
?>
Output
<p>This is a <strong>test</strong> article with some entities.</p>
Reference: https://www.php.net/manual/en/function.mb-encode-numericentity.php