7use Wikimedia\RemexHtml\HTMLData;
8use Wikimedia\RemexHtml\Serializer\Serializer;
9use Wikimedia\RemexHtml\Serializer\SerializerWithTracer;
10use Wikimedia\RemexHtml\Tokenizer\Tokenizer;
11use Wikimedia\RemexHtml\TreeBuilder\Dispatcher;
12use Wikimedia\RemexHtml\TreeBuilder\TreeMutationTracer;
16 private $treeMutationTrace;
18 private $serializerTrace;
33 'treeMutationTrace' =>
false,
34 'serializerTrace' =>
false,
35 'mungerTrace' =>
false,
38 $this->treeMutationTrace =
$config[
'treeMutationTrace'];
39 $this->serializerTrace =
$config[
'serializerTrace'];
40 $this->mungerTrace =
$config[
'mungerTrace'];
41 $this->pwrap =
$config[
'pwrap'];
46 public function tidy( $text, ?callable $textProcessor =
null ) {
47 $traceCallback =
static function ( $msg ) {
51 if ( $this->serializerTrace ) {
52 $serializer =
new SerializerWithTracer( $formatter,
null, $traceCallback );
54 $serializer =
new Serializer( $formatter );
59 $munger = $serializer;
61 if ( $this->treeMutationTrace ) {
62 $tracer =
new TreeMutationTracer( $munger, $traceCallback );
67 'ignoreErrors' =>
true,
68 'ignoreNulls' =>
true,
70 $dispatcher =
new Dispatcher( $treeBuilder );
71 $tokenizer =
new Tokenizer( $dispatcher, $text, [
72 'ignoreErrors' =>
true,
73 'ignoreCharRefs' =>
true,
74 'ignoreNulls' =>
true,
75 'skipPreprocess' =>
true,
78 $tokenizer->execute( [
79 'fragmentNamespace' => HTMLData::NS_HTML,
80 'fragmentName' =>
'body'
82 return $serializer->getResult();
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
A class containing constants representing the names of configuration variables.
const TidyConfig
Name constant for the TidyConfig setting, for use with Config::get()