Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: работа со строкой
Форумы портала PHP.SU » » Вопросы новичков » работа со строкой

Страниц (1): [1]
 

1. Perun - 01 Марта, 2017 - 18:21:34 - перейти к сообщению
День добрый!
Есть задача - если в строке последний символ например слеш, нужно вернуть строку без слеша. Какими средствами это правильно решать? Тут чисто строковые функции применять не очень наверное правильно? С регулярными выражениями(если они тут в помощь) - пока не очень дружу, только в планах.

На строковых функциях я сделал, но наверное это похоже на чесание левого уха правой рукой...

PHP:
скопировать код в буфер обмена
  1. $test = 'test';
  2. $len = strlen($test);
  3. $pos = strrpos($test, '/');
  4. if ($len == $pos + 1) {
  5.         $end = substr($test, 0, $pos);
  6. }
  7. else { $end = $test;}

Какие еще варианты решения вопроса есть?
2. Строитель - 01 Марта, 2017 - 18:34:26 - перейти к сообщению
Perun пишет:
Какие еще варианты решения вопроса есть?
Регуляркой проще
PHP:
скопировать код в буфер обмена
  1. $test = 'test/';
  2.  
  3. echo preg_replace('~(.+)/$~', '$1', $test); // Вернёт test

(Добавление)
Perun пишет:
С регулярными выражениями(если они тут в помощь) - пока не очень дружу, только в планах.
Самое время начинать )
3. Perun - 01 Марта, 2017 - 18:39:00 - перейти к сообщению
Ок. Спасибо.
4. Sail - 02 Марта, 2017 - 08:18:12 - перейти к сообщению
Perun, ещё это действие выполняет функция rtrim()
5. Perun - 02 Марта, 2017 - 08:53:49 - перейти к сообщению
Sail пишет:
ещё это действие выполняет функция rtrim()

Спасибо! Искал что-то похожее- не видел...

 

Powered by ExBB FM 1.0 RC1