1

I'm looking to find a specific attribute of a specific element in an HTML document using PHP DOMDocument.

Specifically, there is a div with a unique class set, and only a single span inside of it. I need to retrieve the style attribute of that span element.

Example:

<div class="uniqueClass"><span style="text-align: center;" /></div>

For this example, with the uniqueClass being the only instance of that class in the document, I would need to retrieve the string:

text-align: center;

1

2 Answers 2

4

You have to use DOMXPAth class

$doc = new DOMDocument; 
// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;

$doc->loadHTML($htmlSource);

$xpath = new DOMXPath($doc);

// We starts from the root element
$query = '//div[@class= uniqueClass]/span';

$entries = $xpath->query($query);

$spanStyle = $entries->current()->getAttribute('style')
Sign up to request clarification or add additional context in comments.

2 Comments

Damn my slow typing, that's pretty much exactly the same solution I was going to suggest :)
Aha, "xpath". I shall do the requisite research on that. Thanks!
1
$xpath = new DomXPath($doc);
$result = $xpath->evaluate('//div[@class=uniqueClass]/span/@style');

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.