2

我正在使用 $html = file_get_html($url)->plaintext; 从网站获取纯文本。但是如果我在某个循环中运行此代码,因为我想从一系列网站访问文本,那么对于少数网站,它会抛出错误,但如果我专门访问此功能,则会提取同一网站的纯文本只有那个网站

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 回答