2

$html = file_get_html($url)->plaintext; を使用しています。しかし、一連のWebサイトからテキストにアクセスしたいので、このコードをループで実行すると、いくつかのWebサイトではエラーがスローされますが、この関数に排他的にアクセスすると、同じWebサイトのプレーンテキストが抽出されますそのサイトだけ

4

1 に答える 1

0

これを試して、あなたが望むものと私が正しい軌道に乗っているか間違っているかを教えてください. まず、サーバーに 2 つの html ファイルがあります。

→ page1.html

<html>
<head><title>HTML Page #1</title></head>
<body><div id="a">A1</div><div id="b">B1</div><div id="b">B1</div></body>
</html>

→ page2.html

<html>
<head><title>HTML Page #2</title></head>
<body><div id="a">A2</div><div id="b">B2</div><div id="b">B2</div></body>
</html>

→ では、メインの PHP ページ: (.html ファイルと同じフォルダー内)

require_once( 'simple_html_dom.php' ); // or w\e the path for your source is

// array to store series of websites:
   $url  = array( './page1.html', './page2.html' );

// array to hold plain-text for later retrieval: (if needed)
   $html = array();

// loop through series of webpages:
   foreach( $url as $key=>$value ) { 

       // get html plain-text for webpage & assign to html array.
          $html[ $key ] = file_get_html( $value )->plaintext; 

       // echo html plain text:
          echo "<br />" . $html[ $key ] . "<br />"; 

   }

   // echo $html[ 0 ]; /* <-- page1.html (if needed) */
   // echo $html[ 1 ]; /* <-- page2.html (if needed) */

出力:

HTML Page #1 A1B1B1

HTML Page #2 A2B2B2 

それはあなたがコードでやりたいことを達成していますか?

于 2013-03-14T08:52:25.450 に答える