0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-11-08 14:58:42 +00:00
htmlpurifier/smoketests/extractStyleBlocks.php

69 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();
$purifier->addFilter(new HTMLPurifier_Filter_ExtractStyleBlocks());
$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>