Nathan Rixham wrote:
Michael A. Peters wrote:
Nathan Rixham wrote:
Michael A. Peters wrote:
Seems like such a function does not exist in php.
I can write my own function that does it using
DOMElement->hasAttribute() - but I'm not sure how to get an array of
every element in the DOM to test them for the attribute.
Any hints?
I'm sure it's simple, I'm just not seeing the function that does it.
DOMXPath :)
I figured it out -
$document->getElementsByTagName("*");
seems to work just fine.
I do need to find out more about XPath - unfortunately reading the
examples that are out in the wild is troublesome because it seems 95%
of them involve the deprecated dom model from pre php 5, so to make
sense of them I would have to port the examples to php5 DOMDocument
first.
Xpath is easier than most think.. for example
//p[@class='red']
that's all p tags with a class of "red"
infact.. http://www.w3schools.com/XPath/xpath_syntax.asp covers about
everything you'll need for normal stuff :)
What I'm doing is writing a filter that removes forbidden attributes -
such as the event attributes (onload, onmouseover, etc.) - the value of
the attribute of the attribute I could care less about.
There's probably an xpath way to get all the elements and then check
them for a specified attribute, but using the wildcard with the
getElementsByTagName also works.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php