Добрый день, пытаюсь написать парсер, но что-то не выходит. Может быть Вы поможите?
Есть куча файлов (внутри них скрипты) все в одной директории.
Нужно что-бы получилась таблица справа в колонке названия файла, а слева часть кода скрипта внутри него. Например:
есть файл к примеру: script.cmd
вот его содержимое:
call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s pp2 -x "WO: ОАСУБД: БД SARD (NyanCat) Backup Logs" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
нужно вытащить из этой строки :
WO: ОАСУБД: БД SARD (NyanCat) Backup Logs
это я сделал с помощью:
$filestring = file_get_contents($file);
preg_match('~-x(.*)-c~Uis', $filestring, $result);
echo $result[1];
Список файлов вывожу в левую колонку вот так:
$dir=$_POST['load'];
if (is_dir($dir)) {
foreach (glob($dir . '/*') as $file) {
<tr>
<td style="color:red; border-collapse:collapse;"
echo $file;
?>
Но проблема в том, что таким способом выводятся только первая строка, а есть файлы где больше одного скприта и некоторые закоменчены например вот такие:
cd "%SD_EVENTHOME%bin"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s p2 -x "WO: ОАСУБД: БД AXBD StandBy" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s prp2 -x "WO: ОАСУБД: БД OPAL (NyanCAT) Backup Logs" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Prd -s pr2 -x "WO: ОАСУБД: БД RAIL, Мониторинг работоспособности" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s pr2 -x "WO: ОАСУБД: БД APATITE, Alert.log" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/P@ssw0rd -s prvspp2 -x "WO: ОАСУБД: БД JASPER Мониторинг работоспособности" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/P@ssw0rd -s prvspp2 -x "WO: ОАСУБД: БД OLIVIN (NyanCAT) Backup Logs" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Prd -s p2 -x "WO: ОАСУБД: БД OLIVIN, Alert.log" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Prd -s pr2 -x "WO: ОАСУБД: БД SARD (NyanCAT) Backup Logs" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Prd -s pr2 -x "WO: ОАСУБД:БДSARD,Мониторинг пропагации " -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s pr2 -x "WO: ОАСУБД: БД MALWTM, Alert.log" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
rem call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/Pd -s pr2 -x "WO: ОАСУБД: БД SMSCHP, Alert.log" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
В конечном итоге, нужно что-бы в таблицу из двух колонок: в левую шли имена файлов (сделал), а в правую имена скпритов внутри этих фалов(только имена скриптов, как на примере выше) закоменченые строки, попадать не должны. Кто поможет буду очень благодарен, голову уже сломал себе