2013-09-16 4 views
2

У меня есть этот фрагмент кода, который должен получить исходный код веб-сайта.php file_get_contents() показывает страницу вместо html-кода

$homepage = file_get_contents('http://homepage.com'); 
echo $homepage; 

Вместо того, чтобы на самом деле дает мне исходный код .. Это показывает мне страницу, которую я пытаюсь получить исходный код.

+0

Посмотрите на исходный код страницы и задумайтесь на секунду – zerkms

ответ

16

Либо используйте htmlentities или измените тип контента.

$homepage = file_get_contents('http://homepage.com'); 
echo htmlentities($homepage); 

или

header('Content-type: text/plain'); 
$homepage = file_get_contents('http://homepage.com/'); 
echo $homepage; 
+0

Заголовок мне помог: D –

+0

Могу ли я спросить, что вы собираетесь делать с выбранным кодом HTML? Если вы хотите отобразить код на веб-странице с другим контентом/дизайном или вы хотите переместить его в текстовое поле на форме, вам нужно будет использовать 'htmlentities'. Если вы установите заголовок, то вы не сможете отобразить что-либо еще на вашей результирующей странице, отличной от текста, потому что она в основном делает то же самое, что и сделать страницу под названием 'index.html' и переименовывает ее в' index.txt '- он больше не будет анализироваться как код. –

1

Попробуйте это, используя htmlspecialchars:

$homepage = file_get_contents('http://homepage.com'); 
echo htmlspecialchars($homepage); 
+1

в htmlspecialchars не делал эту работу для меня. Спасибо, что нашли время, чтобы помочь мне. –

1

Это потому, что вы извлечения исходного кода и (повторно) выводящий его. Ваша страница просто зеркалирует http://homepage.com.

Чтобы увидеть фактический исходный код страницы, добавьте Content-Type заголовок перед вашим echo заявление:

header('Content-type: text/plain'); 

Это говорит браузер лечить источник в виде обычного текста, а не интерпретировать его как HTML.

+0

Вот что я искал .. Спасибо: D –

+0

Это хорошо работает и для меня. Благодаря! Но, мне интересно, есть ли какое-либо решение для отображения html-кода, а также php-кода, если на этой веб-странице есть php-код? Просто любопытные! Потому что я создал простой веб-сайт входа. Боясь, что есть какое-либо решение, можно просмотреть PHP-код, который есть на странице. Чтобы люди могли легко взломать данные для входа в систему. – Jornes

0

Это потому, что вы печатаете источник, ваш браузер будет интерпретировать это как веб-страницу. Для того, чтобы увидеть фактическое использование кода:

echo htmlspecialchars($homepage); 
+0

Не работал для меня. Я не знаю почему. Но все равно спасибо :). –

Смежные вопросы