Простой html dom и php извлечения скрытого содержимого

Laskos Tsiligaridou спросил: 28 марта 2018 в 02:50 в: php

Я использую простой парсер HTML DOM для получения некоторых данных. Все работает отлично, но я столкнулся с проблемой, когда включил плагин read more на моем сайте WordPress.

Скрытый контент (остальное содержимое статьи) находится внутри этого div.

Образец:

<div class="mycontent">
Here is some content
<div class="brm" style="display: none;">
Here is another content but it's not vissible because the style of this div is set to display:none
</div>
<p><a href="#" class="brm-more-link">read more..</a></p>
</div>

До сих пор я использую:

$url = "www.myurl.com";
$html = new simple_html_dom();
$html->load_file($url);
$maindiv = $html->find('div.mycontent',0)->outertext;

отображает все, кроме содержимого внутри div <div class="brm" style="display: none;">

Любые идеи о том, как получить скрытый контент?

1 ответ

pguardiario ответил: 28 марта 2018 в 09:05

На самом деле он получает этот div:

include 'simple_html_dom.php';$str = <<<EOF
<script type="text/javascript">
<div class="mycontent">
Here is some content
<div class="brm" style="display: none;">
Here is another content but it's not vissible because the style of this div is set to display:none
</div>
<p><a href="#" class="brm-more-link">read more..</a></p>
</div>
EOF;$html = str_get_html($str);echo $html->find('div.mycontent',0)->outertext;// <div class="mycontent">  Here is some content  <div class="brm" style="display: none;">  Here is another content but it's not vissible because the style of this div is set to display:none  </div>  <p><a href="#" class="brm-more-link">read more..</a></p>  </div>