PHP как читать информацию из текстового файла, который не всегда правильно отформатирован и генерировать скрипт

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

Я получаю текстовый файл с некоторой информацией, которая не всегда совпадает с форматом, вот пример:

DIV 054  Size: 50-18-135*** Col-Gold/Ivory

Col-Brown

Col-PinkFrame Measurement: A-50 B-27(Upper right hand corner “w/ spring hinges”)
DIV 1024 Size: 53-16-135*** Col-Gunmetal

Col-BrownFrame Measurement: A-52 B-30(Upper right hand corner “w/ spring hinges”)DIV 1046 Size: 53-16-135*** Col-Purple/Pink

Col-Brown/CreamFrame Measurement: A-53 B-37(Upper right hand corner “w/ spring hinges”)DIV 1049 Size: 58-17-140*** Col-Black/Gun

Col-Bronze/GoldFrame Measurement: A-57 B-35(Upper right hand corner “w/ spring hinges”)DIV 1056 Size: 52-17-135*** Col-Brown

Col-Gold/IvoryFrame Measurement: A-52 B-30DIV 1057 Size: 51-17-135*** Col-Pink

Col-GoldFrame Measurement: A-51 B-31(Upper right hand corner “w/ spring hinges”)DIV 1063 Size: 54-17-140*** Col-Blue/Silver

Col-Gunmetal/BlackFrame Measurement: A-54 B-34(Upper right hand corner “w/ spring hinges”)DIV 1073 Size: 54-16-138*** Col-Pink

Col-Gold/BrownFrame Measurement: A-54 B-36(Upper right hand corner “w/ spring hinges”)DIV 2065 Size: 52-18-137*** Col-Gold/Silver

Col-Pink/SilverFrame Measurement: A-52 B-31DIV 2149 Size: 57-17-145*** Col-Black

Col-GunmetalFrame Measurement: A-57 B-35(Upper right hand corner “w/ spring hinges”)DIV 2153 Size: 52-18-135*** Col-Pink

Col-Brown/IvoryFrame Measurement: A-52 B-36DIV 4067 Size: 54-16-135*** Col-Demi-Brown

Col-BlackFrame Measurement: A-52 B-39(Upper right hand corner “w/ spring hinges”)DIV 4071 Size: 53-15-138*** Col-Purple/Pink

Col-Black/RedFrame Measurement: A-53 B-39(Upper right hand corner “w/ spring hinges”)

Некоторые заметки:

  • DIV xxx — это номер модели, и «DIV», и xxx могут изменить
  • col-color иногда бывает в 1-4 вариациях (поэтому некоторые предметы имеют 1 цвет, другие — до 4)
  • Я получаю папку с изображениями, которые не всегда называются такими же, как цвета, но обычно имеют что-то вроде DV-XXX-sometext.jpg

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

Любая помощь приветствуется.

Благодарю.

0

Решение

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

Чтобы прочитать файл с php:

foreach(read("/path/to/file.txt", FILE_SKIP_EMPTY_LINES) as $line) {
echo "> $line\n";
preg_match("/(DIV|OTHER) ([0-9]++) (.*)/", $line, $matches);
if(count($matches) == 3) {
echo "start: ".$matches[0]."\n";
echo "number: ".$matches[1]."\n";
echo "text: ".$matches[2]."\n";
}

Но вся логика должна быть сделана вами.

0

Другие решения

Других решений пока нет …