WordPress Version: 6.1
/**
* Callback for `wp_kses_normalize_entities()` regular expression.
*
* This function only accepts valid named entity references, which are finite,
* case-sensitive, and highly scrutinized by XML validators. HTML named entity
* references are converted to their code points.
*
* @since 5.5.0
*
* @global array $allowedentitynames
* @global array $allowedxmlentitynames
*
* @param array $matches preg_replace_callback() matches array.
* @return string Correctly encoded entity.
*/
function wp_kses_xml_named_entities($matches)
{
global $allowedentitynames, $allowedxmlentitynames;
if (empty($matches[1])) {
return '';
}
$i = $matches[1];
if (in_array($i, $allowedxmlentitynames, true)) {
return "&{$i};";
} elseif (in_array($i, $allowedentitynames, true)) {
return html_entity_decode("&{$i};", ENT_HTML5);
}
return "&{$i};";
}