Ensure that wp_specialchars captures all pre-encoded entities correctly when preventing double encoding. Fixes #9821.
git-svn-id: https://develop.svn.wordpress.org/trunk@11338 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
33dfbfe434
commit
eef75a9675
|
@ -240,11 +240,11 @@ function wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = false
|
||||||
} elseif ( $quote_style === 'single' ) {
|
} elseif ( $quote_style === 'single' ) {
|
||||||
$quote_style = ENT_NOQUOTES;
|
$quote_style = ENT_NOQUOTES;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle double encoding ourselves
|
// Handle double encoding ourselves
|
||||||
if ( !$double_encode ) {
|
if ( !$double_encode ) {
|
||||||
$string = wp_specialchars_decode( $string, $_quote_style );
|
$string = wp_specialchars_decode( $string, $_quote_style );
|
||||||
$string = preg_replace( '/&(#?x?[0-9]+|[a-z]+);/i', '|wp_entity|$1|/wp_entity|', $string );
|
$string = preg_replace( '/&(#?x?[0-9a-z]+);/i', '|wp_entity|$1|/wp_entity|', $string );
|
||||||
}
|
}
|
||||||
|
|
||||||
$string = @htmlspecialchars( $string, $quote_style, $charset );
|
$string = @htmlspecialchars( $string, $quote_style, $charset );
|
||||||
|
|
Loading…
Reference in New Issue