Используйте preg_match, чтобы получить значение из URL - PullRequest
0 голосов
/ 05 августа 2011

У меня есть URL что-то вроде:

www.yourname.mysite.com / шаблоны / разнообразие / index.php

Мне нужно взять эту строку, «разнообразие», и сопоставить ее со значением в БД. Я никогда не использовал ничего похожего на preg_match в php, как мне взять эту строку?

Ответы [ 3 ]

4 голосов
/ 05 августа 2011

Вместо регулярного выражения вы можете использовать parse_url() для этого:

$url = 'www.yourname.mysite.com/templates/diversity/index.php';

$parts = parse_url($url);
$paths = explode('/', $parts['path']);
// "diversity" is in $paths[1]

Для полноты, вот регулярное выражение:

preg_match('=^[^/]+/[^/]+/([^/]+)/=', $url, $matches);
// "diversity" is in $matches[1]
1 голос
/ 05 августа 2011
    $ex = explode("/",$_SERVER["PHP_SELF"]);
    echo $ex[2];
0 голосов
/ 05 августа 2011

Вы можете просто взорвать эту строку и получить третье значение полученного массива:

$parts = explode("/", "www.yourname.mysite.com/templates/diversity/index.php");
echo $parts[2]; // diversity
...