| 1 | 899c899 |
|---|
| 2 | $string = preg_replace('/&#([Xx])0*(([0-9A-Fa-f]{2}){1,2});/', '&#\\1\\2;', $string); |
|---|
| 3 | --- |
|---|
| 4 | $string = preg_replace_callback('/&#([Xx])0*(([0-9A-Fa-f]{2}){1,2});/', create_function('$matches', 'return wp_kses_normalize_entities3($matches[2]);'), $string); |
|---|
| 5 | 916c916,942 |
|---|
| 6 | return (($i > 65535) ? "&#$i;" : "&#$i;"); |
|---|
| 7 | --- |
|---|
| 8 | return ( (!valid_unicode($i)) || ($i > 65535) ? "&#$i;" : "&#$i;"); |
|---|
| 9 | } |
|---|
| 10 | |
|---|
| 11 | /** |
|---|
| 12 | * wp_kses_normalize_entities3() - Callback for wp_kses_normalize_entities() for regular expression |
|---|
| 13 | * |
|---|
| 14 | * This function helps wp_kses_normalize_entities() to only accept valid Unicode numeric entities |
|---|
| 15 | * in hex form. |
|---|
| 16 | * |
|---|
| 17 | * @param string $h Hex string of encoded entity |
|---|
| 18 | * @return string Correctly encoded entity |
|---|
| 19 | */ |
|---|
| 20 | function wp_kses_normalize_entities3($hexchars) { |
|---|
| 21 | return ( (!valid_unicode(hexdec($hexchars))) ? "&#x$hexchars;" : "&#x$hexchars;"); |
|---|
| 22 | } |
|---|
| 23 | |
|---|
| 24 | /** |
|---|
| 25 | * valid_unicode() - Helper function to determine if a Unicode value is valid. |
|---|
| 26 | * |
|---|
| 27 | * @param int $i Unicode value |
|---|
| 28 | * @return bool true if the value was a valid Unicode number |
|---|
| 29 | */ |
|---|
| 30 | function valid_unicode($i) { |
|---|
| 31 | return ( $i == 0x9 || $i == 0xa || $i == 0xd || |
|---|
| 32 | ($i >= 0x20 && $i <= 0xd7ff) || |
|---|
| 33 | ($i >= 0xe000 && $i <= 0xfffd) || |
|---|
| 34 | ($i >= 0x10000 && $i <= 0x10ffff) ); |
|---|