PHP - разделить URL, чтобы получить имя тега - PullRequest
0 голосов
/ 30 июля 2010

Мне нужно удалить URL-адрес с помощью PHP, чтобы добавить класс к ссылке, если он совпадает.

URL будет выглядеть так:

http://domain.com/tag/tagname/

Как я могу удалить URL, чтобы мне осталось только "tagname"?

Так что, в основном, он убирает финал "/" и старт "http://domain.com/tag/"

Ответы [ 4 ]

2 голосов
/ 22 декабря 2012

Для вашего URL

http://domain.com/tag/tagname/

Функция PHP для получения "tagname" называется basename():

echo basename('http://domain.com/tag/tagname/');   # tagname
0 голосов
/ 30 июля 2010

В качестве альтернативы ответам на основе substring вы также можете использовать регулярное выражение, используя preg_split для разделения строки:

<?php 
$ptn = "/\//";
$str = "http://domain.com/tag/tagname/";
$result = preg_split($ptn, $str);
$tagname = $result[count($result)-2];
echo($tagname);
?>

(причина-2 потому, что из-за окончания / последний элемент массива будет пустой записью.)

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

<?php 
$ptn = "/[a-z]+/";
$str = "http://domain.com/tag/tagname/";
preg_match_all($ptn, $str, $matches);
$tagname = $matches[count($matches)-1];
echo($tagname);
?>
0 голосов
/ 31 июля 2010

Большое спасибо всем, у меня работает этот код:

$ptn = "/\//";
$str = "http://domain.com/tag/tagname/";
$result = preg_split($ptn, $str);
$tagname = $result[count($result)-2];
echo($tagname);
0 голосов
/ 30 июля 2010

объединяет некоторую подстроку и некоторую нахождение позиции после того, как вы взяли последний символ из строки.используйте substr и передайте индекс последнего '/' в вашем URL, если вы сначала удалите завершающий символ '/'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...