从另一个页面PHP/javascript获取document.getElementsByName

从另一个页面PHP/javascript获取document.getElementsByName,javascript,php,Javascript,Php,因此,我一直在寻找如何做到这一点,但没有成功。 我正在尝试从外部网站获取名称测试的值 <input type="hidden" name="test" value="ThisIsAValue" /> 但到目前为止,我只找到了如何用一个ID来获取它的值 <input type="hidden" id="test" name="test" value="ThisIsAValue" autocomplete="off" /> 但我需要在没有身份证的情况下找到它,

因此,我一直在寻找如何做到这一点,但没有成功。 我正在尝试从外部网站获取名称测试的值

<input type="hidden" name="test" value="ThisIsAValue" /> 

但到目前为止,我只找到了如何用一个ID来获取它的值

<input type="hidden" id="test" name="test" value="ThisIsAValue" autocomplete="off" /> 

但我需要在没有身份证的情况下找到它,这是我的问题。 这是一个关于如何从ID获取它的示例

<?php

$doc = new DomDocument;

$doc->validateOnParse = true;
$doc->loadHtml(file_get_contents('http://example.com/bla.php'));

var_dump($doc->getElementById('test'));

?>

我发现了如何从同一页上的名称而不是ID中获取它

<script>
function getElements()
{
var test = document.getElementsByName("test")[0].value;
alert(test);
}
</script>

函数getElements()
{
var test=document.getElementsByName(“测试”)[0]。值;
警报(测试);
}
但我也不知道如何从外部页面(如“”)通过名称获得它的价值,有什么帮助吗

谢谢没有方法
getElementsByName()
。我建议先收集所有输入,然后手动过滤它们

$inputs = $doc->getElementsByTagName('input');
$testInput = null;

foreach ($inputs as $input) {
  if ($input->getAttribute('name') === 'test') {
    $testInput = $input;
    break;
  }
}

if (!$testInput) {
  exit('There was an error. input[name="test"] could not be found.');
}

// otherwise dump the input!
var_dump($testInput);

第二个代码是JavaScript,而第一个代码是PHP。你想让JS解决方案适应PHP吗?我不介意,我已经写了一个答案。不能在JavaScript中加载外部文件(除非外部服务器发送CORS头)。JavaScript也在客户端运行。非常感谢,在这之后,我将如何响应它们?“echo$input”还是什么?因为我能做的就是呼出“1”