PHP DOM - 通过选择名称获取所有选项值

标签 php dom

我需要从站点获取“选项”值。但是有不止一个“选择”。如何通过“选择名称”值获取“选项”值。 (通过select name=ctl02$dlOgretimYillari获取所有选项值)

<select name="ctl02$dlOgretimYillari" onchange="javascript:setTimeout('__doPostBack(\'ctl02$dlOgretimYillari\',\'\')', 0)" id="ctl02_dlOgretimYillari" class="NormalBlack">
            <option selected="selected" value="-40">2016-2017</option>

        </select>

我的代码:

$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
libxml_clear_errors();
$xpath = new DOMXpath($dom);
$options_value = array();
$options_name = array();
$options_selected = array();
foreach($dom->getElementsByTagName('option') as $option) {
    array_push($options_value, $option->getAttribute('value'));
    array_push($options_selected, $option->getAttribute('selected'));
    array_push($options_name, $option->nodeValue);
}

最佳答案

get all option value by select name=ctl02$dlOgretimYillari

使用 DOMXPath::query 的解决方案方法:

$content = '<select name="ctl02$dlOgretimYillari" onchange="javascript:setTimeout(\'__doPostBack(\'ctl02$dlOgretimYillari\',\'\')\', 0)" id="ctl02_dlOgretimYillari" class="NormalBlack">           <option selected="selected" value="-40">2016-2017</option>        </select>';

$doc = new DOMDocument();
libxml_use_internal_errors();
$doc->loadXML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));

$xpath = new DOMXPath($doc);
$nodes = $xpath->query("//select[@name='ctl02\$dlOgretimYillari']/option/@value");

// outputting first option value
print_r($nodes->item(0)->nodeValue);

输出:

-40

对于附加条件:如何获取选项文本的值?

...
$nodes = $xpath->query("//select[@name='ctl02\$dlOgretimYillari']/option/text()");
...

关于PHP DOM - 通过选择名称获取所有选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339047/

相关文章:

php - 在 WordPress 中使用复选框过滤输出

php - 使用一个查询的结果作为 MySQL 上另一个查询的输入

php - Json 到带有希腊字符的 xml

arrays - 数组内部的 jquery 模板数组

javascript - 如何使用 html dom 创建国家/地区列表的对象数组?

javascript - scrollIntoView 影响我的监听器

java - 以 UTF-8 序列化 DOM 文档

php - 在我的 ApacheBench 负载测试结果中按长度失败的请求

php - Gmail API : How to get access token?

Javascript,事件处理程序恢复默认值后(DOM)