您可以很容易地剥离显示的图像。
add_filter(
\'comment_text\',
function($comment) {
$allowed_html = array(
\'a\' => array(
\'href\' => array(),
\'title\' => array()
),
\'br\' => array(),
\'em\' => array(),
\'strong\' => array()
);
return wp_kses($comment, $allowed_html);
}
);
这将删除所提供数组中未列出的所有标记。要专门剥离带有外部源链接的图像,您需要更复杂的东西。
function strip_external_images($match) {
if (empty($match)) return;
$site = parse_url(get_site_url());
$parsed = parse_url($match[1]);
if (empty($parsed[\'host\']) || $site[\'host\'] !== $parsed[\'host\']) {
return \'\';
} else {
return $match[0];
}
}
add_filter(
\'comment_text\',
function($comment) {
$pattern = \'|<img.*src="([^"]*)"[^>]+>|\';
return preg_replace_callback($pattern,\'strip_external_images\',$comment);
}
);
这应该允许用户将图像添加到评论中,但只能将图像托管在与站点本身相同的域中。