Сегодня я поделюсь с Вами списком недокументированных функций 1с-Битрикс, обнаруженных во время исследования содержания файлов БУС 9.0 и выше. Ниже приведены некоторые, наверное самые интересные, из них, которые могут реально пригодится в повседневной жизни. Исходные коды всех рассмотренных функций находятся в файле /bitrix/modules/main/tools.php

TrimArr

function TrimArr(&$arr, $trim_value=false)

Функция удаляет из массива $arr все элементы с пустыми значениями. Если установлен флаг $trim_value, для непустых значений будет применена функция trim().
Для этой функции в документации дано неполное описание.

RandString

function randString($pass_len=10, $pass_chars=false)

Возвращает строку указанной длины $pass_len, состоящую из символов набора a-zA-Z0-9, выбранных случайным образом. В параметре $pass_chars можно передавать:

  1. строку символов, которая будет являться базовым набором;
  2. массив строк. Результат будет формироваться следующим образом:
    — элементы массива перемешиваются
    — в цикле из каждой строки (элемента массива) выбирается случайный символ до получения нужного количества.

TrimEx

function TrimEx($str,$symbol,$side="both")

Удаляет из строки $str символ $symbol со стороны $side. Параметр $side может принимать следующие значения:

  • «both» – в начале и конце строки;
  • «left» – в начале строки;
  • «right» – в конце строки.

Эта функция удаляет не более одного символа с каждой стороны.

TrimExAll

function TrimExAll($str,$symbol)

Удаляет все крайние символы $symbol в строке $str.

GetFileExtension

function GetFileExtension($path)

По заданному пути к файлу $path возвращает расширение файла. По сути, функция возвращает символы после последней точки в строке.

GetFileType

function GetFileType($path)

По заданному пути к файлу $path возвращает его тип:

  • IMAGE для jpg, jpeg, gif, bmp, png
  • FLASH для swf
  • SOURCE для html, htm, asp, aspx, phtml, php, php3, php4, php5, php6, shtml, sql, txt, inc, js, vbs, tpl, css, shtm
  • UNKNOWN для остальных

Bxstrrpos

function bxstrrpos($haystack, $needle)

Возвращает позицию последнего вхождения строки $needle в $haystack. Работает с UTF строками.

Initvar

function initvar($varname, $value="")

Инициализирует переменную с именем в $varname значением $value. Если переменная уже определена, ее значение не меняется.

roundEx

function roundEx($value, $prec=0)

Округляет сверху значение $value до $prec знаков после запятой.

print_url

function print_url($strUrl, $strText, $sParams="")

Возвращает html-код для вставки ссылки на $strUrl с анкором $strText.

$strText

На сегодня все, объять необъятный битрикс с мегабайтами исходного кода невозможно, но к этому стоит стремиться.
А какие встроенные функции используете при разработке Вы?

Комментарии