1
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2025-07-30 19:00:10 +02:00

Change unacceptable value default behavior to drop silently.

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@269 48356398-32a2-884e-a903-53898d9a118a
This commit is contained in:
Edward Z. Yang
2006-08-15 23:58:18 +00:00
parent 38e0485fcd
commit 0da17072d1
8 changed files with 36 additions and 19 deletions

View File

@@ -18,6 +18,7 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
function execute($tokens, $config) {
$result = array();
$current_nesting = array();
$escape_invalid_tags = $config->get('Core', 'EscapeInvalidTags');
foreach ($tokens as $token) {
if (empty( $token->is_tag )) {
$result[] = $token;
@@ -86,9 +87,11 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// make sure that we have something open
if (empty($current_nesting)) {
$result[] = new HTMLPurifier_Token_Text(
$this->generator->generateFromToken($token, $config)
);
if ($escape_invalid_tags) {
$result[] = new HTMLPurifier_Token_Text(
$this->generator->generateFromToken($token, $config)
);
}
continue;
}
@@ -121,9 +124,11 @@ class HTMLPurifier_Strategy_MakeWellFormed extends HTMLPurifier_Strategy
// we still didn't find the tag, so translate to text
if ($skipped_tags === false) {
$result[] = new HTMLPurifier_Token_Text(
$this->generator->generateFromToken($token, $config)
);
if ($escape_invalid_tags) {
$result[] = new HTMLPurifier_Token_Text(
$this->generator->generateFromToken($token, $config)
);
}
continue;
}

View File

@@ -26,6 +26,7 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
function execute($tokens, $config) {
$result = array();
$escape_invalid_tags = $config->get('Core', 'EscapeInvalidTags');
foreach($tokens as $token) {
if (!empty( $token->is_tag )) {
// DEFINITION CALL
@@ -40,11 +41,13 @@ class HTMLPurifier_Strategy_RemoveForeignElements extends HTMLPurifier_Strategy
definition->
info_tag_transform[$token->name]->
transform($token);
} else {
} elseif ($escape_invalid_tags) {
// invalid tag, generate HTML and insert in
$token = new HTMLPurifier_Token_Text(
$this->generator->generateFromToken($token, $config)
);
} else {
continue;
}
} elseif ($token->type == 'comment') {
// strip comments