正規表現から文字列を作成しようとしています。私はKohanaフレームワークのルーティングシステムで、正規表現に似た何かを使ってルートを設定できることに気付きました。次に、あなたが設定したルートと一致するURLを作成することができます。私は似たようなことをしようとしていますが、それを行うためのきれいな方法を見つけることができません。私は、例えば、次の正規表現持っている:私は、「アプリケーション」は「A」、「コントローラ」は「b」を等しいと等しいことを言うことができるようにしたい今正規表現から文字列を作成するPHP
/^(?<application>\w+)\/(?<controller>\w+)\/(?<method>\w+)\/(?<parameters>\w+)\/?$/
を、「方法」、「C」に等しいです「パラメータ」は「d」に等しい。次に、指定された値で部品を置き換える文字列を取得する必要があります。私はこれを行う良い方法を見つけることができません。私は基本的に2つの方法を考えました:1)正規表現の対応する値を指定された値に置き換えるか、2)文字列を作成してそれを "適切なもの"に簡単に変換するカスタムの "正規表現構文" "必要に応じて正規表現。 Kohanaは後者を使用していますが、どちらの方法も私にとっては非常に悪いものです。あなたはどうしますか?
編集:少し明確にしようとします。例えば、次の文字列を上記の正規表現にpreg_match()
: "myApplication/myController/myMethod/myParameters"を使って渡します。これは、 "application"、 "controller"、 "method"、 "parameters"のインデックスを持つ4つのアイテムと、対応する値を含む2つのアイテムを持つ配列を返します。今私は文字列を作成する必要があります "myApplication/myController/myMethod/myParameters"正規表現のパターンでは、私は4つの項目でその配列を持っている間。 PHPを使ってどうすればいいですか?
これは明確ではありません。入力文字列とそれに対応する出力文字列の例を挙げてください。 –
私はPHPと正規表現に非常に精通していますが、あなたが求めているものは何も手がかりがありません。あなたの質問は私にとって意味をなさないものでした。質問を一から編集することをお勧めします。しかし誰かが知っている、おそらく他の誰かが理解する。 – Gerry
@Oli Charlesworth、Gerry:理解しづらいかもしれないと私は理解しています。私はそれを自分自身で説明するのに困っていました...テキストを追加して、今はっきりしていることを願っています。 – Frog