| 1 | <?php
|
|---|
| 2 |
|
|---|
| 3 | /**
|
|---|
| 4 | * Escaping for HTML attributes use this instead of esc_attr( json_encode( ) )
|
|---|
| 5 | *
|
|---|
| 6 | * @param array or object $data array or object to be escaped
|
|---|
| 7 | * @return properly escaped data
|
|---|
| 8 | */
|
|---|
| 9 | function esc_json_encode( $data ) {
|
|---|
| 10 |
|
|---|
| 11 | if ( defined( 'JSON_HEX_AMP' ) ) {
|
|---|
| 12 | // This is nice to have, but not strictly necessary since we use _wp_specialchars() below
|
|---|
| 13 | $data = json_encode( $data, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT );
|
|---|
| 14 | } else {
|
|---|
| 15 | $data = json_encode( $data );
|
|---|
| 16 | }
|
|---|
| 17 | return _wp_specialchars( $data, ENT_QUOTES, false, true );
|
|---|
| 18 | }
|
|---|