4 votes

Obtenir toutes les <option>s de <select> en utilisant getElementById

J'ai besoin d'obtenir tous les <option> données provenant d'un <select> dans un document HTML en utilisant PHP. Le code que j'ai pour le moment :

$pageData = $this->Http->get($this->config['url']);
libxml_use_internal_errors(true);
$this->Dom->loadHTML($pageData);
$select = $this->Dom->getElementById('DDteam');

Je ne sais pas comment, à partir d'ici, obtenir la valeur de chacune des options et aussi le texte à l'intérieur des balises d'option. Je ne peux pas inspecter l'objet en utilisant print_r ou similaire non plus.

5voto

vstm Points 7303

Vous devez utiliser la DOM-API pour récupérer les données que vous voulez. Puisque le <select> n'est pas très complexe, vous pouvez récupérer tous les éléments de la <options> -les nœuds utilisant getElementsByTagName :

$select = $this->Dom->getElementById('DDteam');
$options = $select->getElementsByTagName('option');

$optionInfo = array();
foreach($options as $option) {
    $value = $option->getAttribute('value');
    $text = $option->textContent;

    $optionInfo[] = array(
        'value' => $value,
        'text' => $text,
    );
}

var_dump($optionInfo);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X