#smarty
#smarty
Вопрос:
Я пытаюсь использовать последний символ из переменной smarty. Я знаю, что я могу удалить последний символ с помощью substr
или также заменить символ на replace
. Но я хочу удалить последний символ, только если он заканчивается на /
Например, моя строка /homepage/
, я хотел бы стать /homepage
Но если у меня есть /homepage
, это должно быть /homepage
Редактировать :
Также должно работать для строки /homepage/?
-> /homepage?
Ответ №1:
Вы можете использовать Smarty regex_replace и сопоставить с
, если это последний символ с /$
, и заменить его пустой строкой.
Таким же образом вы можете использовать regex_replace
для замены /?
окончания на ?
{$variable|regex_replace:"//$/":""|regex_replace:"//?$/":"?"}
Комментарии:
1. Что, если моя строка является
/homepage/
и все еще хочет удалить последний/
2.
$variable
— это переменная, содержащая вашу строку.3. Да, я знаю, но если моя строка
/homepage/?
Как я могу удалить последнюю/
?4. Я буквально опубликовал полную строку, которую вы должны использовать.
{$variable|regex_replace:"//$/":""}
5. Является ли строка
/homepage/?
или/homepage/
?
Ответ №2:
Используйте модификатор переменной Smarty regex_replace
:
{$url|regex_replace:"#/$#":""}
Комментарии:
1. Это полностью удаляет мою строку