PHPKonf: Istanbul PHP Conference 2017


Table of Contents

add a note add a note

User Contributed Notes 4 notes

7 years ago
Cleaning an html fragment (OO support seems to half-arsed for now)

This will ensure all tags are closed, without adding any html/head/body tags around it.

= array(
'clean' => true,
'output-xhtml' => true,
'show-body-only' => true,
'wrap' => 0,

$tidy = tidy_parse_string($html_fragment, $tidy_config, 'UTF8');
dan [@t] authenticdesign [d_o_t] net
8 years ago
If you're just looking for a quick and dirty way to output HTML code you created in a formatted way use this technique...

= 'a chunk of html you created';
$config = array(
'indent'         => true,
'output-xml'     => true,
'input-xml'     => true,
'wrap'         => '1000');

// Tidy
$tidy = new tidy();
$tidy->parseString($html, $config, 'utf8');

... This seemed to get the result I wanted every time.
nicolas [at] adaka [dot] fr
8 years ago
That seems to be the correct config to symply tidy an HTML fragment (in a valid XHTML syntax) :

=    array(
'clean'                            =>    true,
'drop-proprietary-attributes'    =>    true,
'output-xhtml'                    =>    true,
'show-body-only'                =>    true,
'word-2000'                        =>    true,
'wrap'                            =>    '0'
Dmitri Snytkine
7 years ago
Important notice about configuration options:
If you read the quickref on this page:
you may get an idea that the boolean values for config options can be set as 'y' or 'yes' or 'n' or 'no'
but that's not true for the tidy extension in php.

Boolean values MUST be set only as true or false (without quotes or cause), otherwise tidy just ignores your configuration. It will not raise any error or warning but will just ignore your 'yes' or 'no' values.

For example, this config array will not have the desired effect:
<?php $config = array('drop-proprietary-attributes' => 'yes'); ?>

You must set option to true:
<?php $config = array('drop-proprietary-attributes' => true); ?>
To Top