function _filter_url_escape_comments in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/filter/filter.module \_filter_url_escape_comments()
Escapes the contents of HTML comments.
Callback for preg_replace_callback() within _filter_url().
Parameters
$match: An array containing matches to replace from preg_replace_callback(), whereas $match[1] is expected to contain the content to be filtered.
$escape: (optional) A Boolean indicating whether to escape (TRUE) or unescape comments (FALSE). Defaults to NULL, indicating neither. If TRUE, statically cached $comments are reset.
Related topics
1 call to _filter_url_escape_comments()
- _filter_url in core/
modules/ filter/ filter.module - Converts text into hyperlinks automatically.
1 string reference to '_filter_url_escape_comments'
- _filter_url in core/
modules/ filter/ filter.module - Converts text into hyperlinks automatically.
File
- core/
modules/ filter/ filter.module, line 646 - Framework for handling the filtering of content.
Code
function _filter_url_escape_comments($match, $escape = NULL) {
static $mode, $comments = array();
if (isset($escape)) {
$mode = $escape;
if ($escape) {
$comments = array();
}
return;
}
// Replace all HTML comments with a '<!-- [hash] -->' placeholder.
if ($mode) {
$content = $match[1];
$hash = hash('sha256', $content);
$comments[$hash] = $content;
return "<!-- {$hash} -->";
}
else {
$hash = $match[1];
$hash = trim($hash);
$content = $comments[$hash];
return "<!--{$content}-->";
}
}