2017-02-12 4 views
4

私はセキュリティ上の理由から自分のウェブサイトにウェブサイトの一部を埋め込もうとしていましたが、埋め込みしようとしているウェブサイトを公開できませんこの例では、bbc.co.ukを使用します。PHPがHTMLページを解析して特定のdivを出力する

次は、PHP/htmlコードです:私は、ページをロードする際

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 

</head> 
<body> 
<?php 
$page = file_get_contents('http://www.bbc.co.uk/'); 
$doc = new DOMDocument(); 
$doc->loadHTML($page); 
$divs = $doc->getElementsByTagName('div'); 
foreach($divs as $div) { 
    // Loop through the DIVs looking for one withan id of "content" 
    // Then echo out its contents (pardon the pun) 
    if ($div->getAttribute('id') === 'orb-footer') { 
     echo $div->nodeValue; 
    } 
} 
?> 
</body> 

<footer> 

</footer> 
</html> 

は、しかし、私は、PHPのコードを表示するページを残します。私がどこに間違っているか教えてもらえますか?

ありがとうございました!

+0

あなたのコードは私にとって完璧に機能します。どのバージョンのPHPを使用していますか? –

+0

こんにちは、私はちょうど空白のページを残して奇妙です。 PHPバージョン5.5.9を使用しています。 – BEE

+0

@MohdAsimSuhail訂正:PHPコードを表示したページが残っています。 – BEE

答えて

2

これは、このようにPHPの問題を解決するための一般的なガイドであり、それは決してこの回答のために直接または特定の「ドロップイン」ソリューションです

ブラウザ上にロードされたソースをチェックページ

あなたがロードされ、ブラウザ上のページが空白の場合をロードした後、ChromeではCtrl + Uを使用してソースを表示、またはちょうど右ページ上の任意の場所をクリックし、ソースを表示するオプションを選択してみてください。

ソースは空ですか?それは、エラーがPHP/serverから来たことを意味するはずです。

ソースは完全に/部分的にロードされていますか?つまり、あなたが書いたPHPコードにエラーがあるはずです。代わりに$doc->loadHtml(htmlentities($page))を実行してください。

は、今日では、それが簡単にほとんどのPHPのIDEと統合することができることを見てPHPデバッガを使用するのは簡単です、このような

XDebugをとしてPHPデバッガを使用してください。コードを一歩一歩進んで、問題がどこにあるのかを確認してください。

+0

これはありがとう、ありがとう、あなたに戻ってきます。 – BEE

+0

'$ doc-> loadHtml(htmlentities($ page))'を使っても動作しませんでした。 – BEE

+0

ソースコードは空のままです。 – BEE

関連する問題