0

如果我在网站 1 上有此设置:

<div class="awesomeContent">
    <div>
        Information goes here...
    </div>
    <div>
        Information goes here...
    </div>
    <div>
        Information goes here...
    </div>
</div>

如果我在网站 2 上使用它:

<?php
$data = file_get_contents('http://website.com/hello);
preg_match_all ("/<div class=\"awesomeContent\">([^`]*?)<\/div>/", $data, $matches);
print_r($matches[0]);

我希望它发布:

<div class="awesomeContent">
    <div>
        Information goes here...
    </div>
    <div>
        Information goes here...
    </div>
    <div>
        Information goes here...
    </div>
</div>

但我得到的只是

<div class="awesomeContent">
    <div>
        Information goes here...
    </div>

我怎样才能更好地做到这一点?

4

1 回答 1

0

我建议您在这里使用 dom 解析,例如

$parsedHtml = simplexml_load_string($data);
print_r($parsedHtml)`

但是您的问题的解决方案仍然是更换

 "/<div class=\"awesomeContent\">([^`]*?)<\/div>/"

  "/<div class=\"awesomeContent\">([^`]*)<\/div>/"

因为您在模式中使用了仅在第一个 div 中存在的类

于 2013-03-26T04:22:29.723 回答