内の関連するセクションにファイルが私はこれはPHPのフォームを介してユーザがアップロードすることをconfig.confファイルにあるビットこの分割PHP
Blah
Diddel
Foo
Bar1
Bar2
One
XXY
Password%1 = something
Password%2 = other
Password%3 = nuffing
Completely different stuff here
RandomS6}=2
User%1 = Henry
User%2 = Marcus
User%3 = SecretAdmin
More stuff
Even more stuff
Loads of stuff
のように見える設定ファイルを持っています。
- とラインを含む行を:私はそのファイルを読み込み、次のようにそれのうち5つの新しいファイルを作成したいです最後の「パスワード...」と最初の間
- ライン「ユーザー...」行
- すべての「ユーザー...」
- すべての下のライン「ユーザー...」行
は今、私が扱うことができるマッチする文字列、正規表現は甘いだろうが、それは、厳格な形式の設定であるように私は私の周り私の頭を取得することはできませんどのような
while (substr($line,0,5) == "Passw" { ...
でそれをbodgeすることができ、構造的な方法です。 私はネストされたif-loopで始めましたが、それはまったく非効率的でした( 'User ...'ブロックの後のすべての行はまだ 'Password ...'のテストを受けています)、b)muddlyに見えるだけでなくデバッグする悪夢でもあります。
これを行うための巧妙な方法があるに違いありませんか?私が扱うカードのようにそれを想像する - 「デッキで始まり、チャックカードをこの山に起こり、その後、別の山にチャックカード 『Y』のなどが起こるまで、 『X』まで」私はそれのまわりで私の頭を取得するには、プログラマの十分ではありませんよ。
私はかなりの量のグーグルを行っていますが、カンマで分割する方法や、行数で分割する方法を教えてもらえますが、意味的に分割するチュートリアルはありません。
任意のヒントのためのほとんどの感謝!
P.S. - 多くの方が適している役割に何かがある場合はPHPである必要はありません。しかし、私はRubyの初心者であり、Pythonの赤ちゃんです.PHPは私が何か他のものよりも少し良く知っているものです。
あなたが記述した "取引カード"アルゴリズムは、 'itertools'を使って簡単にPythonで実装することができます。 *(他の言語でもそれほど複雑ではない)*。 –
itertoolsがブックマークされました。この作業では学習曲線が急峻すぎますが、時間をかけて投資する価値があるようです。ありがとうございました! – sheepsky