Formatting: Allow KSES custom elements with hyphens
The W3C Custom Elements spec (http://www.w3.org/TR/custom-elements/#concepts) allows you to use your own custom DOM elements/tags. One of the main requirements is that the tag name "must contain a U+002D HYPHEN-MINUS character". This adjusts KSES to allow it. Fixes #34105. Props batmoo. git-svn-id: https://develop.svn.wordpress.org/trunk@38511 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
cce5a95dfa
commit
4484e2d2c3
@ -781,7 +781,7 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
|
||||
}
|
||||
// Allow HTML comments
|
||||
|
||||
if (!preg_match('%^<\s*(/\s*)?([a-zA-Z0-9]+)([^>]*)>?$%', $string, $matches))
|
||||
if (!preg_match('%^<\s*(/\s*)?([a-zA-Z0-9-]+)([^>]*)>?$%', $string, $matches))
|
||||
return '';
|
||||
// It's seriously malformed
|
||||
|
||||
|
@ -360,6 +360,20 @@ EOF;
|
||||
$this->assertEquals( $allowedtags, wp_kses_allowed_html( 'data' ) );
|
||||
}
|
||||
|
||||
function test_hyphenated_tag() {
|
||||
$string = "<hyphenated-tag attribute=\"value\" otherattribute=\"value2\">Alot of hyphens.</hyphenated-tag>";
|
||||
$custom_tags = array(
|
||||
'hyphenated-tag' => array(
|
||||
'attribute' => true,
|
||||
),
|
||||
);
|
||||
$expect_stripped_string = 'Alot of hyphens.';
|
||||
|
||||
$expect_valid_string = "<hyphenated-tag attribute=\"value\">Alot of hyphens.</hyphenated-tag>";
|
||||
$this->assertEquals( $expect_stripped_string, wp_kses_post( $string ) );
|
||||
$this->assertEquals( $expect_valid_string, wp_kses( $string, $custom_tags ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 26290
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user