私は要素をキャプチャするために正規表現でURLを解析しようとしますが、どうやって行うのかわかりません。 URLのサンプル:解決する複雑な正規表現
- $ path_ =>配列(タイプ=>コテージ、ページと$ path_ =>配列(タイプ=>コテージ)
- 場所-コテージ-P1と場所、コテージ => P1)
- 位置コテージ-MY-領域-R01 $ path_ =>配列(タイプ=>コテージ、地域=> R01)
- 位置コテージ-MY-部門D01とを有します$ path_ =>配列(型=>コテージ、部=> d 01)
- 場所-コテージ私-部門-D01-P1 $ path_ =>配列(タイプ=>コテージ、部門=> D01、ページ=> P1)
私がしたいと 1つの正規表現でこれを行うが、私はこれにしようと、これを行うには知らない:
$expression = '#location-(?P<type>cottage|house)[a-z,-]*';
$expression.= '(?P<region>r[0-9]{2}|)';
$expression.= '(?P<department>d[0-9]{2}\)';
$expression.= '(?P<town>v[0-9]{5}|)';
$expression.= '[-]*(?P<page>[p0-9]*)$#';
preg_match($expression, $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], $path_);
誰かが私を助けることができますか?
第二部では、それが可能だ場合、私はこのように、1つだけではなく、P1、唯一の01としませD01を維持したいと思います:
- 場所-コテージ私-部門-D01-P1 $と path_ =>配列(タイプ=>コテージ、部門=> 01、ページ=> 1)の代わりに使用すると、文字列を解析することができます(ほとんどのシナリオではかなり大きめです)正規表現の
実際のURLの例はありますか? – Sylverdrag
どの「要素」をキャプチャしたいのですか? – FailedDev
これで、一部の部品をオプションにしたいと思っていますか? ( '?'を使用) – mario