переменная печать внутри JavaScript - PullRequest
0 голосов
/ 27 июля 2010

У меня проблема с переменной печатью внутри javascript.

переменная печать htmlString не работает: document.write (htmlString)

<?php  $htmlString= htmlspecialchars(file_get_contents('http://google.com'));?>
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <script type="text/javascript">  
      var htmlString="<?php echo $htmlString; ?>";
      document.write(htmlString);
    </script>

  </body>
</html>


Edit:

Исходный результат веб-страницы: - Получить все google.com внутри htmlString var, не напечатанной на странице (Я вырезал все содержимое htmlString, потому что он очень длинный)

<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <script type="text/javascript">  
      var htmlString="&lt;!doctype html&gt;&lt;html&gt;&lt;head&gt;&lt;metahttp-equiv=&quot;content-type&quot; cotring)";

   document.write(htmlString);
    </script>

  </body>

</html>

Спасибо

1 Ответ

2 голосов
/ 27 июля 2010

Для извлечения удаленных страниц с файлом file_get_contents требуется fopen_wrappers . Если у вашего хоста это отключено и они позволяют cURL () , я бы пошел по этому пути. cURL также обычно быстрее, чем file_get_contents, так что это также может быть решающим фактором.

EDIT:

Проблема, с которой вы столкнулись, особенно в Google, заключается в том, что он использует код JS на веб-странице. Я просто var_dump'ed htmlString, и все это отображается нормально. Но когда мы вернули его обратно в JavaScript, все пошло наперекосяк. Ошибка, которая вернулась, была литералом Unterminated String (через консоль ошибок Firefox) в строке 8. Вероятно, из-за некоторых одинарных кавычек и т. Д. В моем тесте я попытался htmlentities () , который работал и отображал данные в браузер. Раздел для изменения:


$htmlString= htmlentities(file_get_contents('http://google.com'));

И это должно работать так, как вы хотите.

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