我試圖從正則表達式創建一個字符串。我注意到在Kohana框架的路由系統中,您可以使用類似於正則表達式的東西來設置路由。然後,您可以創建一個與您設置的路線相匹配的網址。我正在嘗試做類似的事情,但我找不到乾淨的方式來做到這一點。我已經例如有以下正則表達式:從正則表達式創建字符串PHP
/^(?<application>\w+)\/(?<controller>\w+)\/(?<method>\w+)\/(?<parameters>\w+)\/?$/
現在我希望能夠說,「應用」等於「一個」,「控制」等於「B」,「法」等於「C」和「參數」等於「d」。然後我應該得到一個字符串,用指定的值替換零件。儘管如此,我找不到一個好方法。我基本上想到了兩種方法:1)用指定的值替換正則表達式中的對應值,或2)創建一個自定義的「正則表達式語法」,您可以輕鬆地使用它來創建字符串並將其轉換爲「正確「需要時正則表達式。 Kohana使用後者,但這兩種方式對我來說聽起來都很糟糕。你會如何做到這一點?
編輯:我會盡量澄清一點。我例如下列字符串傳遞給上述使用preg_match()
所示的正則表達式:「所有MyApplication/myController的/ myMethod的/ myParameters」。這將返回一個包含幾個項目的數組,其中包括具有相應值的索引「application」,「controller」,「method」和「parameters」的4個項目。現在我必須用正則表達式的模式創建字符串「myApplication/myController/myMethod/myParameters」,而我只有4個項目的數組。我如何使用PHP來做到這一點?
這還不清楚。你能舉一個輸入字符串和相應的輸出字符串的例子嗎? –
我對PHP和正則表達式非常熟悉,但是我不知道你在問什麼。你的問題對我來說毫無意義,我建議你從頭編輯你的問題。但誰知道,也許別人都明白。 – Gerry
@Oli Charlesworth,格里:我知道這很可能很難理解,我自己無法解釋它......我添加了一些文本,希望現在更清楚。 – Frog