htmlspecialchars_decode_variation4.phpt [plain text]
--TEST--
Test htmlspecialchars_decode() function : usage variations - single quoted strings for 'string' argument
--FILE--
<?php
/* Prototype : string htmlspecialchars_decode(string $string [, int $quote_style])
* Description: Convert special HTML entities back to characters
* Source code: ext/standard/html.c
*/
/*
* Testing htmlspecialchars_decode() with various single quoted strings as argument for $string
*/
echo "*** Testing htmlspecialchars_decode() : usage variations ***\n";
//single quoted strings
$values = array (
'Roy's height > Sam's \$height... 1111 ≈ 0000 = 0000... " double quote string "',
'Roy's height > Sam's height... \t\t 13 < 15...\n\r " double quote\f\v string "',
'\nRoy's height >\t; Sam's\v height\f',
'\r\tRoy's height >\r; Sam\t's height',
'\n 1\t3 &\tgt; 11 but 11 &\tlt; 12',
);
// loop through each element of the values array to check htmlspecialchars_decode() function with all possible arguments
$iterator = 1;
foreach($values as $value) {
echo "-- Iteration $iterator --\n";
var_dump( htmlspecialchars_decode($value) );
var_dump( htmlspecialchars_decode($value, ENT_COMPAT) );
var_dump( htmlspecialchars_decode($value, ENT_NOQUOTES) );
var_dump( htmlspecialchars_decode($value, ENT_QUOTES) );
$iterator++;
}
echo "Done";
?>
--EXPECTF--
*** Testing htmlspecialchars_decode() : usage variations ***
-- Iteration 1 --
string(90) "Roy's height > Sam's \$height... 1111 ≈ 0000 = 0000... " double quote string ""
string(90) "Roy's height > Sam's \$height... 1111 ≈ 0000 = 0000... " double quote string ""
string(100) "Roy's height > Sam's \$height... 1111 ≈ 0000 = 0000... " double quote string ""
string(85) "Roy's height > Sam's \$height... 1111 ≈ 0000 = 0000... " double quote string ""
-- Iteration 2 --
string(88) "Roy's height > Sam's height... \t\t 13 < 15...\n\r " double quote\f\v string ""
string(88) "Roy's height > Sam's height... \t\t 13 < 15...\n\r " double quote\f\v string ""
string(98) "Roy's height > Sam's height... \t\t 13 < 15...\n\r " double quote\f\v string ""
string(78) "Roy's height > Sam's height... \t\t 13 < 15...\n\r " double quote\f\v string ""
-- Iteration 3 --
string(48) "\nRoy's height >\t; Sam's\v height\f"
string(48) "\nRoy's height >\t; Sam's\v height\f"
string(48) "\nRoy's height >\t; Sam's\v height\f"
string(38) "\nRoy's height >\t; Sam's\v height\f"
-- Iteration 4 --
string(48) "\r\tRoy's height >\r; Sam\t's height"
string(48) "\r\tRoy's height >\r; Sam\t's height"
string(48) "\r\tRoy's height >\r; Sam\t's height"
string(38) "\r\tRoy's height >\r; Sam\t's height"
-- Iteration 5 --
string(34) "\n 1\t3 &\tgt; 11 but 11 &\tlt; 12"
string(34) "\n 1\t3 &\tgt; 11 but 11 &\tlt; 12"
string(34) "\n 1\t3 &\tgt; 11 but 11 &\tlt; 12"
string(34) "\n 1\t3 &\tgt; 11 but 11 &\tlt; 12"
Done