javascript之如何检查 HTML img 属性是否具有特定文本并抓取它

pander-it 阅读:90 2026-05-17 15:37:00 评论:0

所以基本上我有一个远程网页,我需要像这样获取内容:

$src = file_get_contents('http://example.com/comp.html'); 
$text = new domDocument; 
@$text->loadHTML($src); // I read on a separate post that the '@' supresses warnings 
$text->preserveWhiteSpace = false; 

comp.html 页面如下所示

<html> 
<div id = "test1"> 
<img src = "http://example.com/monkey"/> 
</div 
<div id = "test2"> 
<img src = "http://example.com/apples"/> 
</div> 
</html> 

我想获取 div id 'test2' 的图像源,但忽略 test1,因为它不会出现在条件中。然后我想抓取 test2 ' http://example.com/apples 中的 img src 字符串' 并将其分开以仅获取 .com/之后的任何值,因此如果该网站是 ' http://example.com/oranges ' 它将获得值“oranges”。然后我想将该值存储到一个变量中。

为此,我在上面的代码之后添加了类似的内容:

$text2 = $text->getElementsByTagName('img'); 
foreach ($text2 as $image) { 
    $image->getAttribute('src'); 
 // My question is after this, how would I proceed? 
} 

请您参考如下方法:

像这样继续..

$dom = new DOMDocument; 
$dom->loadHTML($html); 
foreach ($dom->getElementsByTagName('div') as $dtag) { 
    if ($dtag->getAttribute('id') === 'test2') { 
        foreach($dtag->getElementsByTagName('img') as $itag) 
        echo basename($itag->getAttribute('src')); //"prints" apples 
    } 
} 


标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号