如何使用 simple-html-dom 在 select 中获取值?
How to get value in this select using simple-html-dom?
<select name="size_select" class="long form-control">
<option selected="selected" value="">Please select</option>
<option value="6 (xxs)" title="6 (XXS)">6 (XXS)</option>
<option value="8 (xs)" title="8 (XS)">8 (XS)</option>
<option value="10 (s)" title="10 (S)">10 (S)</option>
<option value="12 (m)" title="12 (M)">12 (M)</option>
<option value="14 (l)" title="14 (L)">14 (L)</option>
<option value="16 (xl)" title="16 (XL)">16 (XL)</option>
<option value="18 (xxl)" title="18 (XXL)">18 (XXL)</option>
<option value="20 (xxxl)" title="20 (XXXL)">20 (XXXL)</option>
如何获取这个 select 中的所有值?
$element = $html->find('#sizeDdl',0);
foreach($element as $elemen) {
echo ($elemen->plaintext);
}
我试试这个输出:
注意:试图在第 11
行 /h2/home/website/website.com/test.php 中获取非对象的 属性
这个想法是每个单独的值都应该被获取并记录在 SQL 基础中。现在是一个共同的结果,不是每个值单独
更改此行
<select name="size_select" class="long form-control">
到这一行
<select name="size_select" id="sizeDdl" class="long form-control">
因为您的 dom 元素应该具有您在 javascript 中使用而在 html 中缺失的 id 属性。
您当前的代码有两个问题。
1) 您正在尝试通过不存在的 ID 获取元素。
2)您正在遍历元素列表,而不是其子元素。
要么按名称找到元素,要么给它一个 id (sizeDbl
),然后迭代它的 children (the options
)。
您还可以将 selector 修改为 select 子列表而不是 select 本身:
$options = $html->find('#sizeDdl option');
或
$options = $html->find('#sizeDbl')->find('option');
首先在select标签中添加id为
<select name="size_select" id="sizeDdl" class="long form-control">
然后更改这些行
$element = $html->find('#sizeDdl',0);
foreach($element as $elemen) {
echo ($elemen->plaintext);
}
这些:
$text_array = array();
$html = "Your html";
foreach($html->find('#sizeDdl') as $element) {
$options = $element->find('option');
foreach($options as $element1) {
$text_array[] = ($element1->plaintext);
}
}
var_dump($text_array);
print_r(text_array);
用于通过简单的 html dom
获取 select 值
试试这个代码,它会帮助你
$element = $html->find('#selectIDGoesHere',0)->find('option');
foreach($element as $elemen) {
echo "Display text:".($elemen->plaintext)."<br>";
echo "value:".($elemen->value)."<br>";
}
<select name="size_select" class="long form-control">
<option selected="selected" value="">Please select</option>
<option value="6 (xxs)" title="6 (XXS)">6 (XXS)</option>
<option value="8 (xs)" title="8 (XS)">8 (XS)</option>
<option value="10 (s)" title="10 (S)">10 (S)</option>
<option value="12 (m)" title="12 (M)">12 (M)</option>
<option value="14 (l)" title="14 (L)">14 (L)</option>
<option value="16 (xl)" title="16 (XL)">16 (XL)</option>
<option value="18 (xxl)" title="18 (XXL)">18 (XXL)</option>
<option value="20 (xxxl)" title="20 (XXXL)">20 (XXXL)</option>
如何获取这个 select 中的所有值?
$element = $html->find('#sizeDdl',0);
foreach($element as $elemen) {
echo ($elemen->plaintext);
}
我试试这个输出:
注意:试图在第 11
行 /h2/home/website/website.com/test.php 中获取非对象的 属性这个想法是每个单独的值都应该被获取并记录在 SQL 基础中。现在是一个共同的结果,不是每个值单独
更改此行
<select name="size_select" class="long form-control">
到这一行
<select name="size_select" id="sizeDdl" class="long form-control">
因为您的 dom 元素应该具有您在 javascript 中使用而在 html 中缺失的 id 属性。
您当前的代码有两个问题。
1) 您正在尝试通过不存在的 ID 获取元素。
2)您正在遍历元素列表,而不是其子元素。
要么按名称找到元素,要么给它一个 id (sizeDbl
),然后迭代它的 children (the options
)。
您还可以将 selector 修改为 select 子列表而不是 select 本身:
$options = $html->find('#sizeDdl option');
或
$options = $html->find('#sizeDbl')->find('option');
首先在select标签中添加id为
<select name="size_select" id="sizeDdl" class="long form-control">
然后更改这些行
$element = $html->find('#sizeDdl',0);
foreach($element as $elemen) {
echo ($elemen->plaintext);
}
这些:
$text_array = array();
$html = "Your html";
foreach($html->find('#sizeDdl') as $element) {
$options = $element->find('option');
foreach($options as $element1) {
$text_array[] = ($element1->plaintext);
}
}
var_dump($text_array);
print_r(text_array);
用于通过简单的 html dom
获取 select 值
试试这个代码,它会帮助你
$element = $html->find('#selectIDGoesHere',0)->find('option');
foreach($element as $elemen) {
echo "Display text:".($elemen->plaintext)."<br>";
echo "value:".($elemen->value)."<br>";
}