Обрезание строки до заданной длины с левого края в PHP

Функция truncateLeft()

В PHP нет отдельной функции для данной задачи. Такой функционал можно реализовать с помощью функции получения подстроки mb_substr().

Исходный код

class StringExtension {

	/**
	 * @param string $string
	 * @param int $length
	 * @param string $encoding
	 * @return string
	 */
	public static function truncateLeft($string, $length, $encoding = null) {
		$string = (string) $string;
		$length = (int) $length;
		$encoding = ($encoding === null) ? mb_internal_encoding() : (string) $encoding;
		if ($length <= 0) {
			$string = '';
		} elseif (($truncateLength = mb_strlen($string, $encoding) - $length) > 0) {
			$string = mb_substr($string, $truncateLength, $length, $encoding);
		}
		return $string;
	}

}

Аргументы

  1. $string — обрезаемая строка;
  2. $length — нужная длина строки;
  3. $encoding — кодировка.

Возвращаемое значение

Возвращает строку string, обрезанную до длины length с левого края.

Особенности

Безопасна для многобайтных строк.