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 | } |
---|