Удалить косую черту в конце формы комментария

Мне нужен код для удаления завершающей косой черты, когда пользователь вводит свою ссылку. Например, мне нужно, чтобы они указали свой URL-адрес, чтобы получить свой аватар, но в некоторых случаях они помещают свой URL-адрес, заканчивающийся косой чертой (.com/). Как я могу удалить эту косую черту автоматически? Потому что, когда они указывают свой URL таким образом, аватар не отображается.

Я хотел удалить косую черту с помощью php-кода, но любое решение будет оценено по достоинству.

Я пытался использовать этот код, но не работал:

$string = rtrim($string, '/');

person Gio luna    schedule 21.06.2012    source источник
comment
В чем ваш код не работал?   -  person sarnold    schedule 21.06.2012
comment
я пытался оставить комментарий на своем веб-сайте, заканчивающийся на (.com/), и код не удалил косую черту, поэтому аватар не отображался.   -  person Gio luna    schedule 21.06.2012
comment
Можете вставить пятистрочную программу, воспроизводящую проблему?   -  person sarnold    schedule 21.06.2012
comment
статическая функция getProfileImage($screenname, $size = 128) { $url = self::API_URL. $экранное имя . '/аватар/' . $размер;   -  person Gio luna    schedule 21.06.2012
comment
если они добавят еще одну косую черту в конце своего веб-сайта, аватар не будет отображаться, потому что URL-адрес будет таким: .com//avatar   -  person Gio luna    schedule 21.06.2012
comment
Для каких URL ваш код не работает? У меня работает: codepad.viper-7.com/hvVvLM   -  person Bailey Parker    schedule 21.06.2012
comment
@SergioVargott Тогда URL-адрес будет недействительным. Вы должны попросить пользователя исправить это, а не предполагать, что они имели в виду.   -  person Bailey Parker    schedule 21.06.2012
comment
я беру аватарки своих комментаторов с tumblr   -  person Gio luna    schedule 21.06.2012
comment
@PhpMyCoder теперь работает:/   -  person Gio luna    schedule 21.06.2012


Ответы (2)


Используйте подстроку (-1). Если он равен "/", то удалите его

if (substr($urlString, -1) == "/") $urlString = substr($urlString, 0, -1);

person RandomDuck.NET    schedule 21.06.2012
comment
спасибо, просто вопрос, я должен поместить код внутри текстового поля? или в любом месте нормально? - person Gio luna; 21.06.2012
comment
Непосредственно перед сохранением URL. - person RandomDuck.NET; 21.06.2012
comment
статическая функция getProfileImage($screenname, $size = 128) { $url = self::API_URL. $экранное имя . '/аватар/' . $ размер; - person Gio luna; 21.06.2012

Функция rtrim просто удаляет пробелы в конце строки. Вы должны проверить, является ли последний символ в строке «/», а затем удалить его, если это так.

Один из способов сделать это:

if (substr_compare($string, "/", -1) == 0) { 
    $string = substr($string, 0, -1);
}
person Giles    schedule 21.06.2012
comment
у меня такая же проблема, стоит ли втыкать его в плагин? или в текстовом поле? это подключаемый модуль.. статическая функция getProfileImage($screenname, $size = 128) { $url = self::API_URL . $экранное имя . '/аватар/' . $ размер; - person Gio luna; 21.06.2012
comment
а текстовое поле — это другая страница ?› /› - person Gio luna; 21.06.2012
comment
Неправильно. rtrim() принимает второй аргумент опции $charList, который принимает строку символов, которую он должен обрезать справа от строки вместе с пробелами. - person Bailey Parker; 21.06.2012