Как можно использовать функцию strpos для извлечения определенной информации на веб-страницах, которые имеют конкретные имена в URL-адресе?

Как изменить условие в запросе, чтобы вывод определенной информации отображался только на страницах, содержащих в URL /info/ или /news/, а на остальных страницах выводилась другая информация?
  • 6 мая 2024 г. 12:10
Ответы на вопрос 3
Для использования функции strpos для извлечения определенной информации на веб-страницах с конкретными именами в URL-адресе, нужно сначала получить URL-адрес текущей страницы с помощью $_SERVER['REQUEST_URI'], а затем применить функцию strpos для поиска указанной строки в URL-адресе. Например:

```php
$current_url = $_SERVER['REQUEST_URI'];
if (strpos($current_url, '/info/') !== false) {
    // Вывод информации для страниц с /info/ в URL
    echo "Информация о странице с информацией";
} elseif (strpos($current_url, '/news/') !== false) {
    // Вывод информации для страниц с /news/ в URL
    echo "Информация о странице с новостями";
} else {
    // Вывод другой информации на остальных страницах
    echo "Другая информация";
}
```

Таким образом, изменяя условие в запросе и проверяя наличие строк '/info/' и '/news/' в URL-адресе, можно отображать различную информацию на определенных страницах.
Просто добавить логики в условие. 

В PHP 8 есть str_contains

if (!str_contains($url, '/info/') && !str_contains($url, '/news/')) {
    echo 'вывод содержимого';
} else {
    echo 'вывод содержимого';
}
Надо один раз распарсить строку, 
$section = explode("/",trim($_SERVER['REQUEST_URI'],"/"))[0] ?: 'index';

и потом уже использовать полученные из неё данные
$other_page = in_array($section, ['news','info']);
if (!$other_page) {
    echo 'вывод содержимого';
} else {
    echo 'вывод содержимого';
}
Похожие вопросы