【问题标题】:PHP how to read info from text file that is not always properly formatted and generate scriptPHP如何从格式不正确的文本文件中读取信息并生成脚本
【发布时间】:2015-06-16 07:33:37
【问题描述】:

我正在为一个由其他人创建的非常糟糕的客户维护一个网站,而从头开始创建一个新网站不是一种选择,它变得非常令人沮丧和耗时,所以我希望通过阅读来自动化这个过程使用 PHP 的文件并自动生成脚本。

我得到一个文本文件,其中包含一些格式并不总是相同的信息,这里是一个示例:

DIV 054  Size: 50-18-135



*** Col-Gold/Ivory

Col-Brown

Col-Pink



Frame Measurement: A-50 B-27



(Upper right hand corner “w/ spring hinges”)





DIV 1024 Size: 53-16-135



*** Col-Gunmetal

Col-Brown



Frame Measurement: A-52 B-30



(Upper right hand corner “w/ spring hinges”)



DIV 1046 Size: 53-16-135



*** Col-Purple/Pink

Col-Brown/Cream



Frame Measurement: A-53 B-37



(Upper right hand corner “w/ spring hinges”)



DIV 1049 Size: 58-17-140



*** Col-Black/Gun

Col-Bronze/Gold



Frame Measurement: A-57 B-35



(Upper right hand corner “w/ spring hinges”)



DIV 1056 Size: 52-17-135



*** Col-Brown

Col-Gold/Ivory



Frame Measurement: A-52 B-30



DIV 1057 Size: 51-17-135



*** Col-Pink

Col-Gold



Frame Measurement: A-51 B-31



(Upper right hand corner “w/ spring hinges”)



DIV 1063 Size: 54-17-140



*** Col-Blue/Silver

Col-Gunmetal/Black



Frame Measurement: A-54 B-34



(Upper right hand corner “w/ spring hinges”)



DIV 1073 Size: 54-16-138



*** Col-Pink

Col-Gold/Brown



Frame Measurement: A-54 B-36



(Upper right hand corner “w/ spring hinges”)



DIV 2065 Size: 52-18-137



*** Col-Gold/Silver

Col-Pink/Silver



Frame Measurement: A-52 B-31



DIV 2149 Size: 57-17-145



*** Col-Black

Col-Gunmetal



Frame Measurement: A-57 B-35



(Upper right hand corner “w/ spring hinges”)



DIV 2153 Size: 52-18-135



*** Col-Pink

Col-Brown/Ivory



Frame Measurement: A-52 B-36



DIV 4067 Size: 54-16-135



*** Col-Demi-Brown

Col-Black



Frame Measurement: A-52 B-39



(Upper right hand corner “w/ spring hinges”)



DIV 4071 Size: 53-15-138



*** Col-Purple/Pink

Col-Black/Red



Frame 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 读取这个文本文件并将每个部分解析为一个变量,以便我可以为它生成代码?我不知道如何解释不同数量的颜色或如何从文件夹中自动添加图像的名称。

感谢任何帮助。

谢谢。

【问题讨论】:

    标签: php text directory auto-generate


    【解决方案1】:

    对不起,我没有得到你想要的。但我认为没有人能给你写一个完整的脚本。

    用 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";
    }
    

    但是所有的逻辑都必须由你自己来做。

    【讨论】:

      猜你喜欢
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 2018-07-17
      • 2018-05-03
      相关资源
      最近更新 更多