2017-02-21 3 views
1

Ich versuche, das Wertattribut aus diesem Eingabebereich mit PHP zu greifen. Dies ist, was der Eingangsbereich wie folgt aussieht:Ergreife den Wert eines Eingabebereichs mit PHP

<input type = 'range' name = 'volsettings 'list='volsettings' min='0' max='100' value='7' oninput='outputUpdate(value)'> 

ich die DOMDocument zu verwenden versucht haben, und verwenden getAttribute basiert weg, was ich von anderen Antworten gesehen, aber aus irgendeinem Grund kann sie nicht arbeiten (es sagt dass es sich um ein nicht-Objekt), was ich versucht habe, so weit das value-Attribut zu greifen ist unten dargestellt:

$htmlDom = new DOMDocument(); 
$htmlDom->loadHTML("mypage.php"); 
$domPath = new DOMXpath($htmlDOM); 
$nodes = $domPath->query('//input[@name="volsettings"]'); 
$node = $nodes->item(0); 
$volume= $node->getAttribute('value'); 
echo $volume; 

Antwort

0

Hinweis, dass DOMDocument::loadHTML Funktion den HTML-Code in der Zeichenfolge enthalten parst:

$htmlStr = "<input type = 'range' name = 'volsettings' list='volsettings' min='0' max='100' value='7' oninput='outputUpdate(value)'>"; 

$htmlDom = new \DOMDocument(); 
$htmlDom->loadHTML($htmlStr); 
$domPath = new \DOMXpath($htmlDom); 
$nodes = $domPath->query('//input[@name="volsettings"]/@value'); 
$val = $nodes->item(0)->nodeValue; 

print_r($val); // prints: 7 

//input[@name="volsettings"]/@value - spezifischer XPath Standortpfad zum Abrufen value Attribut


Um HTML-Inhalt aus der Datei Verwendung DOMDocument::loadHTMLFile Funktion zu laden.

Verwandte Themen