繁体   English   中英

如何使用php提取p标记内的所有内容

[英]how to extract content of all inside in p tag using php

我试图提取div类中html的所有p标签的内容,并尝试将整个流插入一个变量数组中

这是HTML代码示例

<html>
...
<div class=news-box>

   <h2>Heading</h2>
   <p>afsdfdfha adhfaksdhf adfhakhf adfhaskfdha fsahfkasdhfaasfdjhasdf ahdfkahsd</p>
   <p>afsdfdfha adhfaksdhf adfhakhf adfhaskfdha fsahfkasdhfaasfdjhasdf ahdfkahsd</p>
   <p>afsdfdfha adhfaksdhf adfhakhf adfhaskfdha fsahfkasdhfaasfdjhasdf ahdfkahsd</p>
   <p>yuoyuouoyuoyuyu oyuiouioyuioyuyiouyoiy youyoiyuioyuioyuyoiuyiuyiyuioyu yuyiu</p>
</div>
...
</html>

我想提取p中的所有内容并尝试将整个流插入变量以插入数据库中,我在下面的这些php代码中使用

<?php

include('simple_html_dom.php');

$url = 'http://www.example.com';

$html1=file_get_html($url);
$content=array();
foreach($html1->find('div.story-box p') as $e)
{
    $content=$e;
}
echo $content;
?>

为什么只显示最后一行...想要在分配一个变量而不是$e之后显示p标记中的所有内容

在循环中,您在每次迭代中都重新分配$content 您想要的是:

foreach($html1->find('div.story-box p') as $e)
{
    $content[] =$e;
}
var_dump($content);

temp1.html

   <html>
   <head><title></title></head>
   <body>
    <div  id="text">
    <h2>Heading</h2>
    <p>afsdfdfha adhfaksdhf adfhakhf adfhaskfdha fsahfkasdhfaasfdjhasdf ahdfkahsd</p>
     <p>afsdfdfha adhfaksdhf adfhakhf adfhaskfdha fsahfkasdhfaasfdjhasdf ahdfkahsd</p>
     <p>afsdfdfha adhfaksdhf adfhakhf adfhaskfdha fsahfkasdhfaasfdjhasdf ahdfkahsd</p>
    <p>yuoyuouoyuoyuyu oyuiouioyuioyuyiouyoiy youyoiyuioyuioyuyoiuyiuyiyuioyu yuyiu</p>
   </div>
    </body>
    </html

temp1.php

   <?php
      include("simplehtmldom_1_5/simple_html_dom.php");
      $url = 'http://localhost/temp1.html';
      $html=file_get_html($url);
      $content=array();
      $a="";
     foreach($html->find('div[id=text] p') as $e)
     {
       $a .=$e->plaintext." ";
       // echo $e->plaintext."<br>";
     }
     echo "$a";
   ?>

如果您对打印数组感到困惑(顺便说一句,只需使用print_r() ),只需串联字符串即可:

$contents = '';
foreach($html1->find('div.story-box p') as $e) {
    $contents .= $e;
    // or $contents .= $e . '<br/>';
}

echo $contents;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM