Как составить маску для $_SERVER[REQUEST_URI]

237
24 мая 2017, 08:39

Здравствуйте.

Необходимо определить при помощи $_SERVER[REQUEST_URI] заканчивается ли url текущей страницы на .html

Как составить маску, подскажите пожалуйста?

Answer 1

Минимум три способа (не считая регулярки) сравнения с нужным значением:

  1. Взять последние символы в строке по длине, равной со сравниваемой строкой:

    $search = 'html';
    $str = '/www/htdocs/inc/lib.inc.php';   
    $lastChars =  substr($str, -strlen($search));
    if ($search != $lastChars) echo 'Это строка не оканчивается на html';
    

    substr - возвращает подстроку строки string, начинающейся с указанной позиции и указанной. Если стартовая позиция указана отрицательной, возвращаемая подстрока начинается с конца строки.

  2. Разбить через explode разбить по разделителю "точка" и взять последний элемент

    $search = 'html';
    $str = '/www/htdocs/inc/lib.inc.php';
    $exploded = explode('.', $str);
    $lastChars = array_pop($exploded);
    if ($search != $lastChars) echo 'Это строка не оканчивается на html';
    
  3. Воспользоваться pathinfo - возвращает информацию о пути к файлу

    $str = '/www/htdocs/inc/lib.inc.php';
    $path_parts = pathinfo($str);
    echo 'dirname: ' . $path_parts['dirname'], "<br/>";
    echo 'basename: ' . $path_parts['basename'], "<br/>";
    echo 'extension: ' . $path_parts['extension'], "<br/>";
    echo 'filename: ' . $path_parts['filename'], "<br/>"; // начиная с PHP 5.2.0
    if ($search != $path_parts['extension']) echo 'Это строка не оканчивается на html';
    
  4. Регулярки.

  5. Да еще куча разных способов, извращенных и очень извращенных.
READ ALSO
yii2 консольное обращение не к папке commands

yii2 консольное обращение не к папке commands

Приветствую всех вошедших

307
Система тестирования

Система тестирования

Всем привет) Мне нужно написать систему тестирования пользователей на фреймворке yii2 и phpЯ сделал бд, реализовал работу с ней (добавление вопросов,...

228
MVC. Где вызывать контроллеры, которым не нужен url?

MVC. Где вызывать контроллеры, которым не нужен url?

Запутался в MVCУ меня есть роуты вида

191
Подключить swipe к карусели

Подключить swipe к карусели

Нужно подключить swipe жест к карусели, вот собственно код, попробовал несколько вариантов, но как-то не получаетьсяМожет кто-то подскажет,...

205