International PHP Conference Berlin 2025

Esempi

Indice dei contenuti

add a note

User Contributed Notes 4 notes

up
2
Brad
15 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.

<?php
$tidy_config
= array(
'clean' => true,
'output-xhtml' => true,
'show-body-only' => true,
'wrap' => 0,

);

$tidy = tidy_parse_string($html_fragment, $tidy_config, 'UTF8');
$tidy->cleanRepair();
echo
$tidy;
?>
up
2
dan [@t] authenticdesign [d_o_t] net
16 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...

<?php
$html
= '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');
$tidy->cleanRepair();
echo
tidy_get_output($tidy);
?>

... This seemed to get the result I wanted every time.
up
0
Dmitri Snytkine cms.lampcms.com
14 years ago
Important notice about configuration options:
If you read the quickref on this page:
http://tidy.sourceforge.net/docs/quickref.html
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); ?>
up
0
nicolas [at] adaka [dot] fr
16 years ago
That seems to be the correct config to symply tidy an HTML fragment (in a valid XHTML syntax) :

<?php
$tidy_config
= array(
'clean' => true,
'drop-proprietary-attributes' => true,
'output-xhtml' => true,
'show-body-only' => true,
'word-2000' => true,
'wrap' => '0'
);
?>
To Top