Skip to content

simonschaufi/pretty-xml

Repository files navigation

pretty-xml

A tiny library for pretty printing XML, inspired purely from DomDocument's lack of ability to configure indent distance.

Latest Stable Version Total Downloads

Usage

Installation

The recommended way to install the extension is using Composer.

Run the following command:

composer require simonschaufi/pretty-xml

How to use

Prettify

To use, give it a badly indented (but well-formed and valid) XML string:

use PrettyXml\Formatter;

$formatter = new Formatter();
echo "<pre>" . htmlspecialchars($formatter->format('<?xml version="1.0" encoding="UTF-8"?><foo><bar>Baz</bar></foo>')) . "</pre>";

You can also change the size of the indent:

$formatter->setIndentSize(2);

And you can change the indent character:

$formatter->setIndentCharacter("\t");

Minify

use PrettyXml\Formatter;

$formatter = new Formatter();
echo htmlspecialchars($formatter->minify(<<<XML
<?xml version="1.0" encoding="UTF-8"?>
<foo>
    <bar>Baz</bar>
</foo>
XML));

// keep comments
echo htmlspecialchars($formatter->minify(<<<XML
<?xml version="1.0" encoding="UTF-8"?>
<foo>
    <!-- comment -->
    <bar>Baz</bar>
</foo>
XML, true));

Thanks

Thanks to vkBeautify for their algorithm.

About

An XML pretty printer and minifier for PHP

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors 8

Languages