Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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
如何使用param查找对象标记,并使用简单的HTML DOM php将标记嵌入HTML中_Php_Html - Fatal编程技术网

如何使用param查找对象标记,并使用简单的HTML DOM php将标记嵌入HTML中

如何使用param查找对象标记,并使用简单的HTML DOM php将标记嵌入HTML中,php,html,Php,Html,我发现我很难理解php的简单HTMLDOM。即使我读了怎么做的说明。至于我,我只是编程行业的新手。由于我一直在搜索如何找到对象标记和嵌入,我找不到正确的答案。因此,在这里,我将发布我的问题,并希望得到正确的答案。:) 我找不到这个目标: 这是来自vodlocker页面源的带有param的object标记。这就是我想要的 <object type="application/x-shockwave-flash" data="http://vodlocker.com/player/player.

我发现我很难理解php的简单HTMLDOM。即使我读了怎么做的说明。至于我,我只是编程行业的新手。由于我一直在搜索如何找到对象标记和嵌入,我找不到正确的答案。因此,在这里,我将发布我的问题,并希望得到正确的答案。:)

我找不到这个目标:

这是来自vodlocker页面源的带有param的object标记。这就是我想要的

<object type="application/x-shockwave-flash" data="http://vodlocker.com/player/player.swf" width="100%" height="100%" bgcolor="#000000" id="flvplayer" name="flvplayer" tabindex="0" __idm_id__="937985">
   <param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always">
   <param name="seamlesstabbing" value="true">
   <param name="wmode" value="opaque"><param name="flashvars" value="netstreambasepath=http%3A%2F%2Fvodlocker.com%2Fembed-gu09418zgs6y.html&amp;id=flvplayer&amp;file=http%3A%2F%2F95.211.193.83%3A8777%2Fk6ceg4duoo4pcnokaktshz6a5e6vcg4hy7lzvwxjtd7dcwtb4o6vtdk5fe%2Fv.mp4&amp;provider=http&amp;image=http%3A%2F%2F95.211.193.83%3A8777%2Fi%2F02%2F00142%2Falirtn87xlws.jpg&amp;skin=http%3A%2F%2Fvodlocker.com%2Fplayer%2Fmodieus1.zip&amp;duration=12126&amp;plugins=timeslidertooltipplugin-3h%2Chttp%3A%2F%2Flp.longtailvideo.com%2F5%2Fsharing%2Fsharing.swf&amp;allowfullscreen=always&amp;wmode=opaque&amp;allowscriptaccess=always&amp;stretching=uniform&amp;abouttext=vodLocker&amp;aboutlink=http%3A%2F%2FvodLocker.com&amp;timeslidertooltipplugin.preview=%5B%5BJSON%5D%5D%7B%22enabled%22%3Atrue%2C%22path%22%3A%22http%3A%2F%2F95.211.193.83%3A8777%2Fi%2F02%2F00142%2F%22%2C%22prefix%22%3A%22alirtn87xlws%22%2C%22frequency%22%3A%22485%22%7D&amp;timeslidertooltipplugin.pluginmode=HYBRID&amp;sharing.sharing.link=&amp;sharing.sharing.code=%253CIFRAME%2520SRC%253D%2522http%253A%252F%252Fvodlocker.com%252Fembed-gu09418zgs6y-720x400.html%2522%2520FRAMEBORDER%253D0%2520MARGINWIDTH%253D0%2520MARGINHEIGHT%253D0%2520SCROLLING%253DNO%2520WIDTH%253D720%2520HEIGHT%253D%253E%253C%252FIFRAME%253E&amp;sharing.link=http%3A%2F%2Fvodlocker.com%2Fgu09418zgs6y&amp;sharing.code=%253CIFRAME%2520SRC%253D%2522http%253A%252F%252Fvodlocker.com%252Fembed-gu09418zgs6y-640x360.html%2522%2520FRAMEBORDER%253D0%2520MARGINWIDTH%253D0%2520MARGINHEIGHT%253D0%2520SCROLLING%253DNO%2520WIDTH%253D640%2520HEIGHT%253D360%253E%253C%252FIFRAME%253E&amp;sharing.pluginmode=HYBRID&amp;controlbar.position=over&amp;dock.position=left&amp;logo.file=http%3A%2F%2Fvodlocker.com%2Fimages%2Fvodjw_logo.png&amp;logo.hide=false&amp;logo.timeout=10&amp;logo.over=1&amp;logo.out=0.8&amp;logo.position=top-right&amp;logo.link=http%3A%2F%2FVodlocker.com">
</object>

我认为您的问题是
$b=$html->find('object')[0]。尽管这在许多语言中都可以使用,但在5.4以下的PHP版本中却无法使用。改为这样做:

$b = $html->find('object'); $b = $b[0];
我个人使用DOMDocument:

$dom = new DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
if($objs = $dom->getElementsByTagName('object')){
  foreach($objs as $o){
    // $o is each <object> $objectHTML[] = $dom->saveHTML($o);
    foreach($o->childNodes as $p){
      if(preg_match('/^param$/i', $p->nodeName)){
        // $p is each <param> in loop
      }
    }
  }
}
$dom=新的DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
如果($objs=$dom->getElementsByTagName('object')){
foreach($objs作为$o){
//$o是每个$objectHTML[]=$dom->saveHTML($o);
foreach($o->childNodes作为$p){
if(预匹配(“/^param$/i”,$p->nodeName)){
//每个$p都在循环中
}
}
}
}

我已经注释掉了
$objectHTML[]=$dom->saveHTML($o)
,则
$objectHTML
数组将每个对象都包含为HTML
$objectHTML[0]
将是第一个对象标记,其内容为HTML。

我认为您的问题是
$b=$HTML->find('object')[0]。尽管这在许多语言中都可以使用,但在5.4以下的PHP版本中却无法使用。改为这样做:

$b = $html->find('object'); $b = $b[0];
我个人使用DOMDocument:

$dom = new DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
if($objs = $dom->getElementsByTagName('object')){
  foreach($objs as $o){
    // $o is each <object> $objectHTML[] = $dom->saveHTML($o);
    foreach($o->childNodes as $p){
      if(preg_match('/^param$/i', $p->nodeName)){
        // $p is each <param> in loop
      }
    }
  }
}
$dom=新的DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
如果($objs=$dom->getElementsByTagName('object')){
foreach($objs作为$o){
//$o是每个$objectHTML[]=$dom->saveHTML($o);
foreach($o->childNodes作为$p){
if(预匹配(“/^param$/i”,$p->nodeName)){
//每个$p都在循环中
}
}
}
}

我已经注释掉了
$objectHTML[]=$dom->saveHTML($o)
,则
$objectHTML
数组将每个对象都包含为HTML
$objectHTML[0]
将是第一个对象标记,其内容为HTML。

我认为您的问题是
$b=$HTML->find('object')[0]。尽管这在许多语言中都可以使用,但在5.4以下的PHP版本中却无法使用。改为这样做:

$b = $html->find('object'); $b = $b[0];
我个人使用DOMDocument:

$dom = new DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
if($objs = $dom->getElementsByTagName('object')){
  foreach($objs as $o){
    // $o is each <object> $objectHTML[] = $dom->saveHTML($o);
    foreach($o->childNodes as $p){
      if(preg_match('/^param$/i', $p->nodeName)){
        // $p is each <param> in loop
      }
    }
  }
}
$dom=新的DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
如果($objs=$dom->getElementsByTagName('object')){
foreach($objs作为$o){
//$o是每个$objectHTML[]=$dom->saveHTML($o);
foreach($o->childNodes作为$p){
if(预匹配(“/^param$/i”,$p->nodeName)){
//每个$p都在循环中
}
}
}
}

我已经注释掉了
$objectHTML[]=$dom->saveHTML($o)
,则
$objectHTML
数组将每个对象都包含为HTML
$objectHTML[0]
将是第一个对象标记,其内容为HTML。

我认为您的问题是
$b=$HTML->find('object')[0]。尽管这在许多语言中都可以使用,但在5.4以下的PHP版本中却无法使用。改为这样做:

$b = $html->find('object'); $b = $b[0];
我个人使用DOMDocument:

$dom = new DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
if($objs = $dom->getElementsByTagName('object')){
  foreach($objs as $o){
    // $o is each <object> $objectHTML[] = $dom->saveHTML($o);
    foreach($o->childNodes as $p){
      if(preg_match('/^param$/i', $p->nodeName)){
        // $p is each <param> in loop
      }
    }
  }
}
$dom=新的DOMDocument;
@$dom->loadHTMLFile('http://vodlocker.com/embed-gu09418zgs6y.html');
如果($objs=$dom->getElementsByTagName('object')){
foreach($objs作为$o){
//$o是每个$objectHTML[]=$dom->saveHTML($o);
foreach($o->childNodes作为$p){
if(预匹配(“/^param$/i”,$p->nodeName)){
//每个$p都在循环中
}
}
}
}

我已经注释掉了
$objectHTML[]=$dom->saveHTML($o)
,则
$objectHTML
数组将每个对象都包含为HTML
$objectHTML[0]
将是第一个对象标记,其内容为HTML。

看起来有两个问题。首先,我相信你想要的是:

$b = $html->find('object', 0);
根据文档,这是如何找到
标记的第一个实例

但是,您的第二个问题是$html不返回任何带有
标记的代码-您正在搜索的代码块不在那里

如果您要查找的是
http://95.211.193.83:8777/k6ceg4duoo4pcnokaktshz6a5e6vcg4hy7lzvwxjtd7ddxdeooarqi7uci/v.mp4
value,它嵌入在标题中的
标记中,因此请尝试:

$b = $html->find('script');

然后循环遍历
$b
返回的数组,直到得到所需的内容。

看起来有两个问题。首先,我相信你想要的是:

$b = $html->find('object', 0);
根据文档,这是如何找到
标记的第一个实例

但是,您的第二个问题是$html不返回任何带有
标记的代码-您正在搜索的代码块不在那里

如果您要查找的是
http://95.211.193.83:8777/k6ceg4duoo4pcnokaktshz6a5e6vcg4hy7lzvwxjtd7ddxdeooarqi7uci/v.mp4
value,它嵌入在标题中的
标记中,因此请尝试:

$b = $html->find('script');

然后循环遍历
$b
返回的数组,直到得到所需的内容。

看起来有两个问题。首先,我相信你想要的是:

$b = $html->find('object', 0);
根据文档,这是如何找到
标记的第一个实例

但是,您的第二个问题是$html不返回任何带有
标记的代码-您正在搜索的代码块不在那里

如果您要查找的是
http://95.211.193.83:8777/k6ceg4duoo4pcnokaktshz6a5e6vcg4hy7lzvwxjtd7ddxdeooarqi7uci/v.mp4
value,它嵌入在标题中的
标记中,因此请尝试:

$b = $html->find('script');

然后循环遍历
$b
返回的数组,直到得到所需的内容。

看起来有两个问题。首先,我相信你想要的是:

$b = $html->find('object', 0);
根据文档,这是如何找到
标记的第一个实例

不过,您的第二个问题是$html不返回任何代码