Re: DOM - change a tag name ??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 11, 2009 at 3:06 PM, Michael A. Peters <mpeters@xxxxxxx> wrote:
> Andrew Ballard wrote:
>>
>> On Wed, Mar 11, 2009 at 11:52 AM, Michael A. Peters <mpeters@xxxxxxx>
>> wrote:
>>>
>>> If I'm manipulating a dom object, is there a way to change the tag name?
>>> I know you manipulate just about everything else in a node - but is the
>>> tagName really off limits?
>>>
>>> from the documentation for DOMElement -
>>>
>>> /* Properties */
>>> readonly public bool $schemaTypeInfo ;
>>> readonly public string $tagName ;
>>>
>>> so if I really needed to change it, I'd have to create a virgin node with
>>> the new name, identical attributes and children, and replace the existing
>>> node with the new one?
>>>
>>> Is there any other way to alter the tagName without doing all that?
>>>
>>
>> If this is related to your earlier post about attributes, is XSLT not
>> an option? I hate to sound like a broken record, but PHP has support
>> for XSL transformations and it sounds like that is exactly what you
>> are trying to do.
>>
>> Andrew
>>
>
> No.
> XSLT is certainly one of the technologies I'm going to look into, but right
> now I'm building a filter that (hopefully) will fully implement the Mozilla
> developer Content Security Policy server side before the document gets sent
> to the browser - by removing what would violate the specified CSP before it
> is sent.
>
> My primary interest in changing tag names is to ensure all tags are lower
> case so I can then run the rest of the filter. They are all lower case if
> you use loadHTML() but I don't want my class to assume it has a properly
> created DOMDocument to start with, so I want to walk the DOM and change bad
> tags/attribute names before I apply the CSP filtering.


How are you traversing the DOM if it is not already properly formed?
Every time I've ever tried to load a DOMDocument with xml that
wouldn't validate, it blew up and the DOMDocument was left empty. I
usually find loadHTML() to be more forgiving.


> That might be something where XSLT is better but I believe I need to install
> some libraries and recompile php before I can use XSLT as it appears my
> current build doesn't support it (according to phpinfo()) so playing with
> XSLT is for another day.
>

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux