2013-04-13 2 views
1

У меня есть динамическое изображение, закодированное в PHP, которое должно служить в качестве отображения для статистики, используя внешний сайт. Каждая статистика будет отображаться с использованием следующего общего кода:Отображение текстового содержимого на изображении PHP, используя текст с другого сайта

imagettftext($template,10,0,5,35,$black,$font,$statVar1); 

... где $ statVar1 это имя первой статистики, которая будет показана (у меня есть в общей сложности 99 для отображения).

Единственный способ, которым я знаю, как это сделать, - использовать PHP с JSON, сохранять данные в файл, а затем загружать их, когда отображается изображение, но мне не нужна такая сортировка данных в этом случае, так что все, что я ищу, - это просто показать содержимое, содержащееся на исходной странице, одновременно с загрузкой изображения.

В моем решении JSON участвовало getElementsByTagName, и я бы выбрал HTML-теги и выбрал правильный элемент item(), но есть ли чисто PHP-решение, которое я мог бы использовать вместо этого? Например, если бы я захотел посетить сайт DC Vault и установить значение $ statVar1 в значение «Общая позиция» первой команды (т. Е. Отобразить «1» на моем статическом изображении), что бы я сделал?

ответ

0

Если я правильно понимаю, вы хотите извлечь данные с другой страницы/сайта в свой PHP-код.

Самый простой способ - использовать что-то вроде file_get_contents() с URL как параметром вместо обычного пути к файлу. Узнайте о оболочках URL-адресов PHP. https://secure.php.net/manual/en/wrappers.php

Вы можете обработать возвращенные данные, чтобы извлечь то, что вам нужно.

Если соответствующий сайт не предоставляет экспорт в структурированном формате, таком как XML или JSON, вам необходимо проанализировать HTML-документ.

Регулярные выражения - это путь. См. Функцию PHP preg_match.

+0

При анализе этого html НЕ ИСПОЛЬЗУЙТЕ REGEX. И если вы это сделаете, имейте в виду, что на этот вопрос ответили слишком много раз. Используйте DOMDocument. –

+0

Ahh, мне понадобится немного дополнительная помощь. Я не уверен, как работает preg_match. php.net тоже мне не помог. Я абсолютный новичок в PHP (мой опыт работы с ним был скопирован, вставлен и надеется, что он работает). Рассматривая связанные вопросы, я нашел ссылку на что-то, что показывает обещание, но я не уверен, как правильно его использовать, чтобы найти поля, которые я ищу: http://simplehtmldom.sourceforge.net/ – Hiigaran

+0

Джо поможет вы, наверняка :) Я пробовал, но нашел безумную задачу разобрать этот ужасный DC Vault HTML, используя DOM :( –