无法使用DOM从textarea获取值

Dum*_*ock 2 php dom

我正在使用CURL来获取表单并将其存储在字段中

..,
$str = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

$ str HTML有一个textarea如下

<td class="fntc">
Description
</td>
<td class="ffc">
<textarea name="descri" rows="6" class="emf" maxlength="128000">fictional.</textarea>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用dom来获取此区域并且未成功

$dom = new DOMDocument;
$dom->loadHTML($str);

// Get all the textarea field nodes
$inputs = $dom->getElementsByTagName('textarea');
// Iterate over the input fields and save the values we want to an array
foreach ($inputs as $input) {
    $name = $input->getAttribute('name');
    $val = $input->getAttribute('value');
    $field_vals[$name] = $val;
}
Run Code Online (Sandbox Code Playgroud)

但是我无法获得价值.我在这里做错了吗?

Mic*_*ski 5

由于a <textarea>包含标记内的文本而不是value属性,因此您可以使用以下命令访问它nodeValue:

$val = $input->nodeValue;
Run Code Online (Sandbox Code Playgroud)

更新

好的,我现在已经验证了这个:

$d = new DOMDocument();
$d->loadHTML("<html><head></head><body><textarea>textarea contents</textarea></body></html>");
$t = $d->getElementsByTagName("textarea");
foreach ($t as $tx) {
  echo $tx->nodeValue;
}

// Prints
// textarea contents
Run Code Online (Sandbox Code Playgroud)