-1

可能重复:
如何使用 PHP 解析和处理 HTML?

请帮助我,我需要使用 file_get_contents 在加载页面上的标签<DIV id="image">any text in source soce</DIV>之间选择文本的脚本。

一位朋友建议我,但它不起作用:

$vyber = file_get_contents($url);
preg_match_all("'<span>(.*?)</span>'si", $vyber, $get);
4

2 回答 2

0

我不知道正则表达式是否是这里最好的解决方案。

您无法创建完美的正则表达式(或者您可以但需要很多时间),这将涵盖

<div somethingelse="" id="image"></div>
<div id="Image></div>
<div id=Image></div>

我要做的是使用 html dom 解析器 http://simplehtmldom.sourceforge.net/

代码将是:

<?php
    require_once('DomParserFile.php'); //Replace this ofc
    $Html = file_get_html('http://YourUrlHere.com/'); //html not file :)
    $ContentInThisDiv = $Html->fing('div#image')->src;
    echo($ContentInThisDiv);
?>
于 2012-11-06T21:11:00.383 回答
0
$dom = new DOMDocument;
$dom->loadHTMLFile('http://urlhere.com');

$xpath = new DOMXPath($dom);
$nodes = $dom->getElementsByTagName('div');

    foreach($nodes as $val):
        $id = $val->getElementByid('image');
        foreach($id as $content){
            $text = $content->nodeValue;
        endforeach;
        echo $text . '</br>\n';
    endforeach;

尽管未经测试,这应该可以工作。

于 2012-11-06T21:20:19.650 回答