PHP: пустые теги p возвращаются при использовании DOMDocument-> loadHTMLFile - PullRequest
0 голосов
/ 03 февраля 2012

Я видел это сообщение:

Текст из тега <p> с использованием DOM Php

, и у меня похожая проблема, только мои теги <p> пустыкак только я это сделаю $dom->loadHTMLFile($url);

Если я посмотрю на исходном сайте, все теги <p> содержат текст, и я проверил это, используя этот метод для извлечения страницы:

$data = 'somedata';
$optional_headers = null;
$url = 'http://www.myurl.com';
$params = array('http' => array(
              'method' => 'POST',
              'content' => $data              
  ));
  if ($optional_headers !== null) {
    $params['http']['header'] = $optional_headers;
  }
  $context = stream_context_create($params);
  $fp = @fopen($url, 'r', false, $context);
  if (!$fp) {
    throw new Exception("Problem with $url, $php_errormsg");
  }
  $response = @stream_get_contents($fp);
  fclose($fp);
  if ($response === false) {
    throw new Exception("Problem reading data from $url, $php_errormsg");
  }

если я отображаю $ response, я получаю теги <p>, заполненные, как и ожидалось.

Когда я обновляю свой $ url до нужного значения http://www.myurl.com? Q = value 'затем используйте

$dom = new DOMDocument();
$dom->loadHTMLFile($url);
libxml_use_internal_errors(true);
$dom->loadHTMLFile($url);
echo $dom->saveHTML();

Я получаю теги <p>, все пустые и данные, которые должны быть в них указаны (хотя кавычки не отображаются при отображении в браузере).

Кто-нибудь может объяснить, почему это может произойти и как обойти это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...