Я захожу на мою страницу www.mysite.com/theme/test/index.php
который содержит код ниже. Я ожидаю увидеть слово test
внутри h1
но это пусто 🙁 Может кто-нибудь объяснить, где я не прав?
<?php
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if ((false !== strpos($url,'theme')) || (false !== strpos($url,'colours'))) {
if(preg_match("/\/(\d+)$/",$url,$matches)) { $end=$matches[1]; }
?>
<div class="row">
<div class="medium-12 columns">
<h1 class="page-title"><?php echo ucwords(str_replace("-"," ",$end)); ?></h1>
</div>
</div>
<?php
}
?>
Спасибо
Я думаю, что ваш preg_match не так. \d
означает цифру. У вас нет в вашем URL.
Я не совсем уверен, какая именно информация у вас есть в вашем скрипте, когда он запускается, но я думаю, что $end
никогда не устанавливается.
Убедитесь, что ваше регулярное выражение соответствует, в противном случае $end
будет пустым.
Решено.
@ Марчин был прав.
$end = end((explode('/', rtrim($url, '/'))));
Нашел это полезным: Получить последнюю часть URL PHP