views:

27

answers:

2
function myTidy($content) {
    $tidyConfig = array(
        'indent'                        => false, //don't indent
        'doctype'                       => 'omit', //don't include doctype
        'wrap'                          => 0, // don't line wrap
        'show-body-only'                => true, //don't include <html><head><title><body>
        'drop-proprietary-attributes'   => false, //this doesn't seem to be helping with our youtube stuff...
    );
    $tidy = tidy_parse_string($content, $tidyConfig, 'UTF8');
    $tidy->cleanRepair();
    return (string)$tidy;
}


echo myTidy('<span _my_custom_attr="asdfsdf">asdf</span>'), "\n";

Desired output

<span _my_custom_attr="asdfsdf">asdf</span>

Actual output:

<span>asdf</span>

What does it take to get tidy to allow my custom attribute?

A: 

Turns out removing the leading underscore in the attribute name resolves the issue -- my_custom_attr works fine.

Frank Farmer
+1  A: 

I think a leading underscore make the attibute invalid, so tidy will remove it, even if your tell him not to remove unknown attributes.

Kau-Boy
Yep. That was it.
Frank Farmer
Even in the SO syntax highlighter the underscore isn't hightlighted correctly :)
Kau-Boy
Yep. That's what tipped me off to try removing it myself.
Frank Farmer