Техника обработки данных при парсинге контента (во вкладке “контент”) функциями языка PHP:
1) Качаем, устанавливаем и запускаем локальный сервер Denwer
2) Копируем ваши PHP-скрипты для обработки контента при парсинге в папку Z:\denwer\www\denwer (где Z – имя виртуального диска с Denwer)
3) Отправляем POST-данные PHP-скриптам на Денвере из шаблона вывода программы Content Downloader макросом PHP_SCRIPT и получаем от них обработанные данные
Как отправлять в PHP-скрипт различные POST-данные (любой текст или код):
Переходим во вкладку “контент”, нажимаем ctrl+2, в открывшийся шаблон вывода прописываем примерно следующее:
<PHP_SCRIPT=http://localhost/denwer/14.php[UTF-8]>data1=[DATAENCODE]5[/DATAENCODE] data2=[DATAENCODE]7[/DATAENCODE]</PHP_SCRIPT>
В этом примере мы отправили PHP-скрипту (Z:\denwer\www\denwer\14.php) две переменных: data1, в которой содержится текст (число) "5" и data2, в которой содержится (передается) текст "7".
Значения переменных обязательно должны помещаться в DATAENCODE (DATAENCODE кодирует отправляемый текст в процентную URL-кодировку, чтобы скрипт правильно принял данные и автоматически расшифровал их из URL-кодировки).
Каждая отправляемая переменная прописывается с новой строки в формате имя_переменной=[DATAENCODE]значение_переменной[/DATAENCODE]
Также обратите внимание на параметр [UTF-8], который прописывается после ссылки на вызываемый PHP-скрипт. Если этот параметр присутствует, то Content Downloader автоматически преобразует данные из UTF-8 кодировки при их получении от скрипта. Если этот параметр убрать, то данные декодироваться не будут.
Работа с отправленными данными в PHP-скрипте:
Для использования полученных от Content Downloader данных в PHP-скриптах применяются следующие операторы: $_POST[имя_переменной]. Например, мы отправляем в скрипт две переменных с числами 5 и 7:
<PHP_SCRIPT=http://localhost/denwer/14.php[UTF-8]>data1=[DATAENCODE]5[/DATAENCODE] data2=[DATAENCODE]7[/DATAENCODE]</PHP_SCRIPT>
Для того, чтобы, к примеру, сложить их в скрипте и полученную сумму умножить на 2, мы в PHP-скрипт пропишем следующее:
<?php
$res = ($_POST[a] + $_POST[b])*2;
?>
Как вернуть обработанные данные из PHP-скрипта в любимый Content Downloader:
Content Downloader вставит в результат парсинга (на место макроса PHP_SCRIPT) все то, что вернется от скрипта оператором echo, например:
<?php
$res = ($_POST[a] + $_POST[b])*2;
echo $res;
?>
В этом случае, если мы отправляем в переменной a значение 5, а в переменной b значение 7, то в результате работы макроса PHP_SCRIPT останется их сумма, умноженная на 2 – число 24
Примечание: В дереве макросов шаблона вывода (ctrl+2) вы можете найти множество PHP_SCRIPT: PHP_SCRIPT_0, PHP_SCRIPT, PHP_SCRIPT_2, PHP_SCRIPT_3, PHP_SCRIPT_4, PHP_SCRIPT_5. Все они работают одинаково, только выполняются в разное время (в определенном порядке). Зная это вы можете вызывать, например, макрос PHP_SCRIPT внутри макроса PHP_SCRIPT_2 (так как сначала выполнится PHP_SCRIPT, и только потом PHP_SCRIPT_2).