- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ситуация такая, на своем сайте site1.com я размещаю блок новостей из своего второго сайта site2.com с помощью кода <?php echo file_get_contents("http://site2.com/base.html");?>
Все вроде бы хорошо, но возникла такая проблема, кодировка файла base.txt = utf-8, а кодировка сайта site1.com = windows1251 , блок новостей выводится не читабельно.
Как с помощью функции file_get_contents не полностью содержимое файла, а только отдельный, нужные мне фрагмент текста, например от строчки #nachalo до строчки #konec, или как такое сделать с помощью другой функции? Чтобы не передавалась кодировка файла base.html на сайт site1.com
Буду очень признателен за помощь.
Получить содержимое страницы в переменную и парсить ее.
Конечно, не самый удачный пример, лучше использовать регулярные выражения.
К сожалению не работает, Parse error: syntax error, unexpected '[' in /***/index.php on line 19
строчка $output = explode('#end', $start[1])[0];
Но если даже ее убрать - то содержимое файла просто не инклудится с другого сайта, ничего не происходит.
Используйте iconv или mb_convert_encoding для изменения кодировки символов.
Используйте iconv или mb_convert_encoding для изменения кодировки символов.
я в пхп не силен, напишите мне, пожалуйста, код полностью, чтобы я просто вставил его в страницу и все заработало.
---------- Добавлено 21.02.2017 в 04:09 ----------
Даже можна бы было вывести содержимое файла base.html транслитом (латиницей), что тоже будет не плохо. Тогда проблема с кодировкой исчезнет. Как такое можно сделать?
К сожалению не работает, Parse error: syntax error, unexpected '[' in /***/index.php on line 19
строчка $output = explode('#end', $start[1])[0];
Но если даже ее убрать - то содержимое файла просто не инклудится с другого сайта, ничего не происходит.
Наверное, древняя версия PHP, тогда нужно изменить так, убедившись, что вхождения "#start" и "#end" действительно есть в отданной страничке:
Наверное, древняя версия PHP, тогда нужно изменить так, убедившись, что вхождения "#start" и "#end" действительно есть в отданной страничке:
Все работает, большое спасибо. ;)
Но к сожалению, проблему с кодировкой такая функция не решила(.
Вопрос остается открытым. Как вывести файл base.html для сайта site1.com в кодировке win1251, если кодировка самого файла utf-8? Или как вывести тот же файл транслитом? (тогда вопрос кодировни снимется)
Откройте для себя PhpQuery :)
Вопрос остается открытым. Как вывести файл base.html для сайта site1.com в кодировке win1251, если кодировка самого файла utf-8?
выше же писали вам используйте iconv
выше же писали вам используйте iconv
Так?
<?php echo file_get_contents("http://site2.com/base.html");
echo iconv("UTF-8","windows-1251",$output[0]);
?>
Нет, не работает(