0

使用してphp変数にロードされたWebページhtml全体がある場合

$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>

これら2つのマーキングの間にないすべてを切り捨てる正規表現を書くことはできますか? したがって、それらのマークの間の内容をファイルに書き込むだけです。

どんな助けでもとても素晴らしいでしょう。これまで私を助けてくれたすべての人に感謝します。

4

1 に答える 1

0

あなたが使用することができます

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

'<div id="listing">'これにより、文字列の先頭から までのすべてと、文字列の末尾までのすべてが'<div class="cleared"></div>'空の文字列に置き換えられます。

s修飾子が使用されるため、.改行だけでなく他のすべての文字も一致します 。

上記は、文字列内で 1 回だけ発生することを前提<div id="listing">としています。<div class="cleared"></div>

于 2013-03-14T19:48:44.400 に答える