-2

たとえば、次を使用して、さまざまなタイプの URL からパラメーターを抽出するには、正規表現文字列が必要です$_SERVER["REQUEST_URI"]

文字列 1: "/news/page/4" または文字列 2: "/news/weekly/page/4"

last なしで文字列を抽出する必要があります。つまり、 or/page/[ID]のみを意味します。どうすればそれを行うことができますか?/news/page/news/weekly/preg_replace

ありがとうございました。

4

4 に答える 4

2

正規表現の代わりにexpand()を使用できます。

$delimiter = '/';
$parts     = explode($delimiter, $_SERVER["REQUEST_URI"]);
$whatINeed = $parts[0] . $delimiter . $parts[1];
于 2012-05-21T18:45:35.960 に答える
0

正規表現ソリューション:

echo preg_replace('/^([\w\W]*)\/page\/\d*/','$1','/news/weekly/page/4');

出力:

/news/weekly

ただし、爆発ソリューションを使用する必要があります。

$parts = explode('/', $_SERVER["REQUEST_URI"]);
$url = $parts[0].'/'.$parts[1];
于 2012-05-21T18:52:17.143 に答える
0

[A-Za-z/]+ を使用できるはずですが、単に substr を使用するよりも遅くなります。編集: substr ではなく、爆発します。

于 2012-05-21T18:49:32.230 に答える
0

試す:

$foo = explode('/', $_SERVER["REQUEST_URI"]);
$resultant_url = $foo[0].'/'.$foo[1];
于 2012-05-21T18:55:16.380 に答える