Мне нужно удалить URL-адрес с помощью PHP, чтобы добавить класс к ссылке, если он соответствует.
URL-адрес будет выглядеть так:
http://domain.com/tag/tagname/
Как я могу удалить URL-адрес, поэтому мне остается только "tagname" ?
Таким образом, в основном он выдает финальные "/" и начало "http://domain.com/tag/"
Для вашего URL-адреса
http://domain.com/tag/tagname/
Функция PHP для получения "tagname" называется basename() :
echo basename('http://domain.com/tag/tagname/'); # tagname
объедините некоторую подстроку и некоторый поиск положения после того, как вы берете последний символ из строки. используйте substr и перейдите в индекс последнего «/» в вашем URL-адресе, предполагая, что вы сначала удаляете конечный «/».
В качестве альтернативы ответам на основе 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 = "/[az]+/"; $str = "http://domain.com/tag/tagname/"; preg_match_all($ptn, $str, $matches); $tagname = $matches[count($matches)-1]; echo($tagname); ?>
Большое спасибо всем, этот код работает для меня:
$ptn = "/\//"; $str = "http://domain.com/tag/tagname/"; $result = preg_split($ptn, $str); $tagname = $result[count($result)-2]; echo($tagname);