Задать вопрос
@millimo

Как используя php или vbs вытащить данные из текстовых файловв?

Добрый день, подскажите, как спарсить определенные строчки из .cmd файлов например: скрипт в файле:

cd "%SD_EVENTHOME%bin"
call addentry.bat c:\SD\RG "%SD_EVENTHOME%bin\sd_event.exe" -a wo/sDSddd -s servName -x "WO: ОФЭЗ: (nyanNAME) Контроль справочника орган" -c WO -m insert -l "C:\SD\wo_creation.log" -v "EXTID=REG%DATE% %TIME% %RANDOM%"
из всего этого нужно вытащить только вот это: "WO: ОФЭЗ: (nyanNAME) Контроль справочника орган"

проблема еще и в том, что всего файлов 390 среди них есть и пустые и закомментированые и частично закомментированые и один файлы с кучей скриптов внутри и по одному скрипту

в конечном итоге нужно что-бы получилось выгрузить вот в таком виде на примере этого файла: script.cmd "WO: ОФЭЗ: (nyanNAME) Контроль справочника орган"

(т.е. файл в котором лежит / лежат скрипт/ скрипты и название сама которое в кавычках)
эту строчку вытащить удалось регуляркой:
preg_match('~-x(.*)-c~Uis', $filestring, $result);

буду рад, если подскаждите как сделать на php
как сделать так, что-бы вытащенное значение было напротив имени файла?
к примеру, вот скрипт:

<html>
<head>
  <title>Парсинг...</title>
</head>
<body>
<table  border="2px";>
<tr>
<td>
<?php


$dir=$_POST['load'];
 if (is_dir($dir))
   foreach (glob($dir . '/*') as $file)
   	echo $file . "<br>\n";
	?>
</td>
<td>
<?php 

$filestring = file_get_contents($file);
preg_match('~-x(.*)-c~Uis', $filestring, $result);
echo $result[1];
	?>
</td>
</tr>


<table>

</body>
</html>

на форме начальной вводдится расположение директории где лежать файлы
затем обработчик, в таблицу из двух колонок выводит слева имена файлов (работает) а в правую колонку вытащенное знаечние (то, что вы мне помогли вытащить )
как реализовать не подскажешь? а то я запутался немножко, мне не лень самому поискать, подумать, я пытался, просто не прогал не разу не на чем
  • Вопрос задан
  • 179 просмотров
Подписаться 1 Оценить 10 комментариев
Пригласить эксперта
Ответы на вопрос 1
Ivanq
@Ivanq
Знаю php, js, html, css
foreach должен быть для tr:
<html>
  <head>
    <title>Парсинг...</title>
  </head>
  <body>
    <table  border="2px";>
      <?php
        $dir=$_POST['load'];
        if (is_dir($dir)) {
           foreach (glob($dir . '/*') as $file) {
      ?>
      <tr>
        <td>
          <?php echo $file; ?>
        </td>
        <td>
          <?php 
            $filestring = file_get_contents($file);
            preg_match('~-x(.*)-c~Uis', $filestring, $result);
            echo $result[1];
          ?>
        </td>
      </tr>
      <?php } } ?>
    </table>
  </body>
</html>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы