как мне разобрать URL с php - PullRequest
       37

как мне разобрать URL с php

0 голосов
/ 30 августа 2011

Мне нужно разобрать URL в php для кнопки, похожей на Facebook.то, что я делаю сейчас, это:

<?php
  echo curPageURL();
?>

, но у меня есть статьи, иногда 2 или три страницы, поэтому я хочу проанализировать URL-адрес без номера страницы, так что кнопка «Мне нравится» для первой страницыстатья.Иногда номер страницы тоже не существует.

мой URL выглядит следующим образом http://www.mydomain.com/23/My-Article-Title/2/

2 в конце - это номер страницы, указывающий на страницу 2. первая страница статьи выглядит следующим образомхотя

http://www.mydomain.com/23/My-Article-Title/

как мне разобрать URL в php, чтобы удалить номер страницы, если он существует?

, поэтому я хотел бы только проанализировать его, если бы былномер страницы.

Ответы [ 4 ]

1 голос
/ 30 августа 2011
 preg_replace('=\d+/$=', '', $url);
1 голос
/ 30 августа 2011

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

echo preg_replace('#/[0-9]+(/)?$#', '/', 'http://www.mydomain.com/23/My-Article-Title/34/');

// output: http://www.mydomain.com/23/My-Article-Title/ 

Вышеуказанное регулярное выражение удаляет любые / + numbers + (optional) /, которые появляются в концеURI.

0 голосов
/ 30 августа 2011
<code>$url = 'http://www.mydomain.com/23/My-Article-Title/2/';
$url_info  = parse_url($url);
$pathes = (empty($url_info['path']) ? array() : explode('/', trim($url_info['path'], '/')));

if (($len = count($pathes)) > 0  && is_numeric($pathes[$len-1]) )
{
    echo "<pre>";
    print_r($pathes);
    echo "
"; } ?>
0 голосов
/ 30 августа 2011

Попробуйте использовать:

 preg_replace('/^(.+[a-zA-Z]\/)[\d]*\/?$/i', '\\1', $str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...