0

如果我使用将整个网页 html 加载到 php 变量中

$html = file_get_contents('URL');

我使用以下方法将其内容写入文件:

$myFile = "localdownload.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $html);
fclose($fh);

而且我总是知道我想要的内容介于

<div id="listing"> and <div class="cleared"></div>

可以编写正则表达式来截断不在这两个标记之间的所有内容吗?所以它只会在这些标记之间写入内容。

任何帮助都会很棒。感谢过去帮助过我的每一个人。

4

1 回答 1

0

你可以使用

$html = preg_replace(
    '/.*?<div id="listing">|<div class="cleared"><\/div>.*$/s', '', $html );

这将用空字符串替换从字符串开头到包含 的'<div id="listing">'所有内容,以及从包含到字符串结尾的所有内容。'<div class="cleared"></div>'

使用s修饰符以便.匹配换行符以及所有其他字符。

以上假设<div id="listing">并且<div class="cleared"></div>仅在字符串中出现一次。

于 2013-03-14T19:48:44.400 回答