mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-09 15:28:40 +00:00
2c955af135
Signed-off-by: Edward Z. Yang <edwardzyang@thewritingpot.com>
70 lines
1.8 KiB
PHP
70 lines
1.8 KiB
PHP
<?php
|
|
|
|
require_once 'common.php';
|
|
require_once 'HTMLPurifier/Filter/ExtractStyleBlocks.php';
|
|
|
|
// need CSSTidy location
|
|
$csstidy_location = false;
|
|
if (file_exists('../conf/test-settings.php')) include '../conf/test-settings.php';
|
|
if (file_exists('../test-settings.php')) include '../test-settings.php';
|
|
|
|
if (!$csstidy_location) {
|
|
?>
|
|
Error: <a href="http://csstidy.sourceforge.net/">CSSTidy</a> library not
|
|
found, please install and configure <code>test-settings.php</code>
|
|
accordingly.
|
|
<?php
|
|
exit;
|
|
}
|
|
|
|
require_once $csstidy_location . 'class.csstidy.php';
|
|
require_once $csstidy_location . 'class.csstidy_print.php';
|
|
|
|
$purifier = new HTMLPurifier(array(
|
|
'Filter.ExtractStyleBlocks' => true,
|
|
));
|
|
|
|
$html = isset($_POST['html']) ? $_POST['html'] : '';
|
|
$purified_html = $purifier->purify($html);
|
|
|
|
?><!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Extract Style Blocks - HTML Purifier Smoketest</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<?php
|
|
|
|
// generate style blocks
|
|
foreach ($purifier->context->get('StyleBlocks') as $style) {
|
|
?><style type="text/css">
|
|
<!--/*--><![CDATA[/*><!--*/
|
|
<?php echo $style; ?>
|
|
|
|
/*]]>*/-->
|
|
</style>
|
|
<?php
|
|
}
|
|
|
|
?>
|
|
</head>
|
|
<body>
|
|
<h1>Extract Style Blocks</h1>
|
|
<p>
|
|
This smoketest allows users to specify global style sheets for the
|
|
document, allowing for interesting techniques and compact markup
|
|
that wouldn't normally be possible, using the ExtractStyleBlocks filter.
|
|
</p>
|
|
<p>
|
|
User submitted content:
|
|
</p>
|
|
<div style="border: 1px solid #CCC; margin: 1em; padding: 1em;">
|
|
<?php echo $purified_html ?>
|
|
</div>
|
|
<form action="" method="post">
|
|
<textarea cols="100" rows="20" name="html"><?php echo escapeHTML($html) ?></textarea>
|
|
<input type="submit" value="Submit" />
|
|
</form>
|
|
</body>
|
|
</html>
|