Скрипт делает следующее берёт строку из файла logins.txt, которая выглядит так - pMenu->ModifyMenu(ID_FILE_ZIP_AND_EMAIL_ALL_FILE,MF_BYCOMMAND,theApp.tr.GetString("&Zip and E-Mail All File To ...")); и подставляет значение ID_FILE_ZIP_AND_EMAIL_ALL_FILE после MF_BYCOMMAND, таким образом в результате мы имеем строку в таком вот виде pMenu->ModifyMenu(ID_FILE_ZIP_AND_EMAIL_ALL_FILE,MF_BYCOMMAND,ID_FILE_ZIP_AND_EMAIL_ALL_FILE,theApp.tr.GetString("&Zip and E-Mail All File To ..."));.
код скрипта:
$xhe_host ="127.0.0.1:7010";
// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");
// получить строки из файла в массив
$strings = file("logins.txt");
// получить линию в нужном нам виде
function get_line($str)
{
// префиксы для разбора
$pref1= "ModifyMenu(";
$pref2= "MF_";
$pref3= "theApp.tr.GetString(";
// находим префиксы
$ind = strpos($str,$pref1);
$ind1 = strpos($str,$pref2,$ind);
// получаем строку
$res = substr($str, $ind+ strlen($pref1),$ind1-$ind-strlen($pref1));
// выводим в окно отладки для контроля процесса
echo $res."
";
// получаем индекс префикса
$ind2 = strpos($str,$pref3);
// формируем нужную нам строку
$res = substr($str,0,$ind2).$res .substr($str,$ind2,strlen($str)-$ind2);
// выводим результат в окно отладки
echo $res."
";
return $res;
}
// переменная куда будем получать результат
$data="";
// пройтись по всем строкам
for($i=0;$i {
global $data;
// получить i-ю строку
$line = $strings[$i];
// добавим в результат изменённую строку
$data=$data.get_line($line);
}
// запишем результат в файл
$textfile->write_file("data.txt",$data,0) ;
// Quit
$app->quit();
?>
Для выполнения скрипта нужно создать файл login.txt который будет содержать строки типа pMenu->ModifyMenu(ID_FILE_ZIP_AND_EMAIL_ALL_FILE,MF_BYCOMMAND,theApp.tr.GetString("&Zip and E-Mail All File To ...")); в папке, в которой лежит скрипт.
Комментариев нет:
Отправить комментарий