I use the tidy extension in my board, but i wanted to restric some html-tags and attributes for my users... I found out, that if you use cleanRepair(), the object will be the string... sounds strange, watch that:
<?php
class myTidy extends tidy {
public function __construct($string, $config = array(), $encoding = "utf8") {
if(!is_array($config) || empty($config)) // default config
$config = array(
"doctype" => "omit",
"logical-emphasis" => true,
"show-body-only" => true,
"char-encoding" => "utf8",
"ident" => true,
"wrap" => 0
);
if(!is_string($encoding)) // default encoding
$encoding = "utf8";
parent::parseString($string, $config, $encoding);
parent::cleanRepair();
return parent; // !!! Return the object !!!
}
}
?>
And now with "myFunctions" (e.g. restrict attributes / tags via regEx):
<?php
class myTidy extends tidy {
public function __construct($string, $config = array(), $encoding = "utf8") {
if(!is_array($config) || empty($config))
$config = array(
"doctype" => "omit",
"logical-emphasis" => true,
"show-body-only" => true,
"char-encoding" => "utf8",
"ident" => true,
"wrap" => 0
);
if(!is_string($encoding))
$encoding = "utf8";
parent::parseString($string, $config, $encoding);
parent::cleanRepair();
$string = myFunctions(parent);
return $string;
}
}
?>
tidy_clean_repair
(PHP 5, PECL tidy:0.5.2-1.2)
tidy_clean_repair — Execute configured cleanup and repair operations on parsed markup
Description
Procedural style:
bool tidy_clean_repair
( tidy $object
)
Object oriented style:
bool tidy->cleanRepair
( void
)
This function cleans and repairs the given tidy object .
Beispiel #1 tidy_clean_repair() example
<?php
$html = '<p>test</I>';
$tidy = tidy_parse_string($html);
tidy_clean_repair($tidy);
echo $tidy;
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title></title> </head> <body> <p>test</p> </body> </html>
See also tidy_repair_file() and tidy_repair_string().
tidy_clean_repair
david dot thalmann at gmail dot com
26-Jun-2007 04:17
26-Jun-2007 04:17
