Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取缺少唯一条件的远程站点的某些元素_Php_Dom - Fatal编程技术网

Php 获取缺少唯一条件的远程站点的某些元素

Php 获取缺少唯一条件的远程站点的某些元素,php,dom,Php,Dom,抱歉,如果这看起来不清楚,我会解释的 我试图从远程页面获取某些元素,这些元素可能是 这个远程页面有许多和,但是我需要的一个页面没有唯一的标准,比如特定的id最唯一的标准是它在代码中的位置,它总是在这段代码之上 <script src="http://code.jquery.com/jquery-1.5.2.min.js" type="text/javascript"></script> 换句话说,我想要的iframe或script就在jquery引用上方的行中 我

抱歉,如果这看起来不清楚,我会解释的

我试图从远程页面获取某些元素,这些元素可能是

这个远程页面有许多
,但是我需要的一个页面没有唯一的标准,比如特定的
id
最唯一的标准是它在代码中的位置,它总是在这段代码之上

<script src="http://code.jquery.com/jquery-1.5.2.min.js" type="text/javascript"></script> 

换句话说,我想要的
iframe
script
就在jquery引用上方的行中

我可以依靠什么方法来获得这个iframe

$file = file('www.yoururl.html');

foreach($file as $key => $value) {
    if(strpos($value, 'http://code.jquery.com/jquery-1.5.2.min.js')) {
        echo $file[$key-1];
        break;
    };
};
您可以使用regex确保没有在线路上拾取任何其他内容:-

    preg_match('/<(iframe|script).+<\/(iframe|script)>/', $file[$key-1], $matches);
    echo $matches[0];

preg\u匹配(“/显示您需要的网站和代码。@nathanhayfield否这是获取此iframe的应用程序的一部分automatically@VishnuVishwa在这里检查@mirandakery:那么你需要从代码中获取什么呢?DOM是一个树结构。如果你能在树中找到一个节点,你可以上/下/跨越分支找到你需要的节点ant.你为我节省了几天的搜索时间,真的非常感谢你的帮助。我仍然需要一些帮助如果
www.yoururl.html
不是以这种方式,但我是通过使用$\u请求获得的某些变量形成的,你为我节省了几天的搜索时间,真的非常感谢你的帮助。我仍然需要一些帮助如果
www.yoururl.html
不是以这种方式,而是我形成的,那该怎么办通过$\u请求获得的某些变量检查此粘贴我不知道为什么此代码不起作用我看不出url的形成方式有任何区别。如果它不在一行上,但取决于格式,则可以这样做。您是否有源url的活例?在pastebin中有相同的示例,但有时此方法不是ret翻页返回空页我想这是因为格式化,我不知道什么时候格式化才是这个方法的理想选择,所以有没有什么方法可以让我们得到代码并重新格式化,使每一行只有一个元素或标记,这样我们就可以得到准确的所需行?下面是这个方法不适用的代码示例