PHP echo $ array [$ i] ничего не показывает - PullRequest
1 голос
/ 19 января 2011

У меня есть следующий код PHP (версия 5.3.0):

$URL = "http://www.example.com/";

IF ($URL != "") 
try {
    $curl = curl_init();
    curl_setopt ($curl, CURLOPT_URL, $URL);
    curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true);
    $html = curl_exec ($curl);

    $array = str_split($html);

    for ($i=0;$i<20;$i++) echo $array[$i]," ";

}
 catch (Exception $e) {
      print $e->getMessage();
}

, который работает, как я ожидаю, и отображает:

<! D O C T Y P E h t m l P U B L I </p>

Хотя, если я изменю строку на:

for ($i=0;$i<20;$i++) echo $array[$i];

тогда у меня ничего не отображается. Почему во втором случае ничего не показано?

Ответы [ 5 ]

3 голосов
/ 19 января 2011
for ($i=0;$i<20;$i++) echo $array[$i];

Выводит VALID начало HTML-тега, который интерпретируется браузером. Поэтому вы этого не видите.

Вы можете изменить свои сущности на лету, используя echo htmlentities($array[$i]);, или просто заменить каждый запуск тега в html: $html = str_replace('<','&gt;',$html);


Редактировать
В качестве примечания для тех, кто не знаком с сущностями:

&gt; - это HTML-сущность, которая представляет <, так же как &lt; представляет >. Они обозначают соответственно greater than и less than и предлагают альтернативный способ печати <, который в противном случае был бы интерпретирован браузером

3 голосов
/ 19 января 2011

Возможно, потому что вашему браузеру не нравится этот частичный тип документа.Попробуйте добавить header("Content-Type: text/plain"), прежде чем делать что-либо.

1 голос
/ 19 января 2011

Вы получаете вывод, но вывод является началом объявления <DOCTYPE.Почему вы ожидаете увидеть этот результат видимым?Сделайте «просмотр источника» в вашем браузере, и вы увидите его.

1 голос
/ 19 января 2011

Возможно, теперь ваш браузер пытается отобразить вывод html, и это просто приводит к появлению «пустой страницы».Вы пробовали опцию «просмотреть исходный код»?

0 голосов
/ 19 января 2011

Изменить на

for ($i=0;$i<20;$i++) echo htmlspecialchars($array[$i]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...