Exemplo n.º 1
0
/**
 * Отсекает у строки $haystack подстроку $needle,
 * если она встречается в начале или в конце строки $haystack
 * 2016-10-28
 * Добавил поддержку нескольких $needle.
 * @param string $haystack
 * @param string|string[] $needle
 * @return string
 */
function df_trim_text($haystack, $needle)
{
    return df_trim_text_left(df_trim_text_right($haystack, $needle), $needle);
}
Exemplo n.º 2
0
 /**
  * 2015-12-12
  * Для филдсета верхнего уровня:
  * *) getName() возвращает «groups[frontend][fields][value_font][value]»
  * *) getId() возвращает dfe_sku_frontend_value_font
  * Для подчинённых филдсетов мы getId() равно getName()
  * @return string
  */
 private function nameFull()
 {
     if (!isset($this->{__METHOD__})) {
         $this->{__METHOD__} = $this->isTop() ? df_trim_text_right($this->getName(), '[value]') : (!$this->_anonymous ? $this->getId() : $this->_parent->nameFull());
     }
     return $this->{__METHOD__};
 }
Exemplo n.º 3
0
/**
* 2015-08-14
* Обратите внимание, что @uses get_class() не ставит «\» впереди имени класса:
* http://3v4l.org/HPF9R
	namespace A;
	class B {}
	$b = new B;
	echo get_class($b);
* => «A\B»
*
* 2015-09-01
* Обратите внимание, что @uses ltrim() корректно работает с кириллицей:
* https://3v4l.org/rrNL9
* echo ltrim('\\Путь\\Путь\\Путь', '\\');  => Путь\Путь\Путь
*
* 2016-10-20
* Нельзя делать параметр $c опциональным, потому что иначе получим сбой:
* «get_class() called without object from outside a class»
* https://3v4l.org/k6Hd5
*
* @used-by df_explode_class()
* @used-by df_module_name()
* @param string|object $c
* @param string $del [optional]
* @return string
*/
function df_cts($c, $del = '\\')
{
    /** @var string $result */
    $result = df_trim_text_right(is_object($c) ? get_class($c) : ltrim($c, '\\'), '\\Interceptor');
    return '\\' === $del ? $result : str_replace('\\', $del, $result);
}