Показать сообщение отдельно
  #11 (permalink)  
Старый 28.10.2015, 19:46
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

optik77, никакие привилегии не нужны.

По сути получается следующая картина: мы с помощью file_get_contents получаем страницу яндекса и записывает это всё в переменную. Далее, в заголовке указываем, что на выходе у нас должен получиться JS-файл (text/javascript), хотя это не обязательно. Потом мы генерируем название ф-ции, которая будет вызвана (в нашем случае - yandexCallback), и в качестве параметра передаём в неё то, что получили от яндекса.

В итоге у нас получается JS файл примерно такого вида:

yandexCallback("<html><head>....</head><body>....</body></html>");


И мы подключаем этот файл предварительно объявив нашу ф-цию yandexCallback, и она будет вызвана из того самого файла. Как-то так.

P.S.: ещё нужно экранировать или удалить переносы строк, иначе будет ошибка:

yandexCallback("<html><head>...

</head><body>....</body></html>");

//Syntax error


Можно сделать вот так:
echo 'yandexCallback("' . addslashes(preg_replace(/[\n\r\f]+/, '', $content)) . '")';
Ответить с цитированием