URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4740
[ Назад ]

Исходное сообщение
"Отрезать последний символ в строке (PHP)"

Отправлено Oleg , 05-Мрт-07 11:17 
Коллеги,
Очередное затруднение.
Нужно убрать последний символ в строке на PHP. Он может быть любым.
В Перле я это делал chop-ом.

Содержание

Сообщения в этом обсуждении
"Отрезать последний символ в строке (PHP)"
Отправлено mephius , 05-Мрт-07 11:28 
>Коллеги,
>Очередное затруднение.
>Нужно убрать последний символ в строке на PHP. Он может быть любым.
>
>В Перле я это делал chop-ом.

Например, вот так:
<?
$str="asdfgh";
echo substr($str, 0, strlen($str)-1);
?>
или так:
<?
$str="asdfgh";
echo preg_replace("/(.*).$/", "\\1", $str);
?>


"Отрезать последний символ в строке (PHP)"
Отправлено Oleg , 05-Мрт-07 12:02 
Ага. Спасибо!
Работают оба варианта.

>Например, вот так:
><?
>$str="asdfgh";
>echo substr($str, 0, strlen($str)-1);
>?>
>или так:
><?
>$str="asdfgh";
>echo preg_replace("/(.*).$/", "\\1", $str);
>?>



"Отрезать последний символ в строке (PHP)"
Отправлено XAnder , 05-Мрт-07 11:50 
>Коллеги,
>Очередное затруднение.
>Нужно убрать последний символ в строке на PHP. Он может быть любым.
>
>В Перле я это делал chop-ом.

Возможно, rtrim поможет. Эта функция удалят все пробельные символы из конца строки. Чаще всего именно это и нужно.

Вот здесь можно посмотреть все функции обработки строк, какие есть в PHP:

http://www.php.net/manual/ru/ref.strings.php


"Отрезать последний символ в строке (PHP)"
Отправлено Oleg , 05-Мрт-07 12:04 
>Возможно, rtrim поможет. Эта функция удалят все пробельные символы из конца строки.
>Чаще всего именно это и нужно.
>

В том, то и дело, что мне не пробелы и конец строки нужно было отрезать...


"Отрезать последний символ в строке (PHP)"
Отправлено skijaef , 15-Апр-11 00:07 
Например, вот так:
<?
$str="asdfgh";
echo substr($str, 0, strlen($str)-1);
?>

если работаешь с руским утф, то надо учитывать, что одна русская буква может быть длинной до 3х байт, и в итоге отрежется не последняя буква, а убьется байт буквы и выведится последний символ иероглифом


"Отрезать последний символ в строке (PHP)"
Отправлено shtin , 22-Июн-12 10:17 
> Например, вот так:
> <?
> $str="asdfgh";
> echo substr($str, 0, strlen($str)-1);
> ?>
> если работаешь с руским утф, то надо учитывать, что одна русская буква
> может быть длинной до 3х байт, и в итоге отрежется не
> последняя буква, а убьется байт буквы и выведится последний символ иероглифом

как решить эту проблему?


"Отрезать последний символ в строке (PHP)"
Отправлено ne4to , 26-Июн-12 02:46 
mb_substr ?

"Отрезать последний символ в строке (PHP)"
Отправлено Один web программист. , 28-Янв-13 12:09 
>> Например, вот так:
>> <?
>> $str="asdfgh";
>> echo substr($str, 0, strlen($str)-1);
>> ?>
>> если работаешь с руским утф, то надо учитывать, что одна русская буква
>> может быть длинной до 3х байт, и в итоге отрежется не
>> последняя буква, а убьется байт буквы и выведится последний символ иероглифом
> как решить эту проблему?

RTFM


"Отрезать последний символ в строке (PHP)"
Отправлено Павел , 26-Апр-13 07:11 
<?php
  $dir = 'antiques/Accessories/Clothing/'; // Папка с изображениями
  $ar=array();

  $name = scandir($dir);
  $parts = pathinfo($img);
  $cols = 3; // Количество столбцов в будущей таблице с картинками
  $files = scandir($dir); // Берём всё содержимое директории
  echo "<table>"; // Начинаем таблицу
  $k = 0; // Вспомогательный счётчик для перехода на новые строки
  for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
    if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
      if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
      echo "<td width='220'   align='center'>"; // Начинаем столбец
      $path = $dir.$files[$i]; // Получаем путь к картинке
      echo "<a href='$path'>"; // Делаем ссылку на картинку
      echo "<img src='$path' width='200' height='200' />"; // Вывод превью картинки
      echo "$name[$i]";
      echo "</a>"; // Закрываем ссылку
      echo "</td>"; // Закрываем столбец
      /* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя */
      if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
      $k++; // Увеличиваем вспомогательный счётчик
    }
  }
  echo "</table>"; // Закрываем таблицу

?>


Ребят, помогите плиз, вывожу файлы из каталога с названиями, надо обрезать разширение .jpg
как это сюда вкрячить?


"Отрезать последний символ в строке (PHP)"
Отправлено Павел , 26-Апр-13 07:12 
в смысле, что бы название под картинкой было без .jpg