protected static function wrap ($in, $data, $tag) {
		$data  = static::smart_array_merge(is_array($in) ? $in : ['in' => $in], is_array($data) ? $data : []);
		$in    = $attributes = '';
		$level = 1;
		if (isset($data['level'])) {
			$level = $data['level'];
			unset($data['level']);
		}
		static::pre_processing($tag, $data);
		if (!static::data_prepare($data, $tag, $in, $attributes)) {
			return false;
		}
		if (
			!$in &&
			$in !== 0 &&
			$in !== '0'
		) {
			$in = '';
		} elseif (
			$level &&
			(
				strpos($in, "\n") !== false ||
				strpos($in, '<') !== false
			)
		) {
			$in = "\n".static::level("$in\n", $level);
		}
		return "<$tag$attributes>$in</$tag>".($level ? "\n" : '');
	}
protected static function wrap ($in, $data, $tag) {
		$data  = static::smart_array_merge(is_array($in) ? $in : ['in' => $in], is_array($data) ? $data : []);
		$in    = $attributes = '';
		$level = 1;
		if (isset($data['level'])) {
			$level = $data['level'];
			unset($data['level']);
		}
		static::pre_processing($tag, $data);
		if (!static::data_prepare($data, $tag, $in, $attributes)) {
			return false;
		}
		if (
			!$in &&
			$in !== 0 &&
			$in !== '0'
		) {
			$in = '';
		} elseif (
			$level &&
			(
				strpos($in, "\n") !== false ||
				strpos($in, '<') !== false
			)
		) {
			$in = "\n".static::level("$in\n", $level);
		}
		return "<$tag$attributes>$in</$tag>".($level ? "\n" : '');
	}
protected static function wrap ( $ in , $ data , $ tag ) { $ data = static :: smart_array_merge ( is_array ( $ in ) ? $ in : [ 'in' => $ in ] , is_array ( $ data ) ? $ data : [ ] ) ; $ in = $ attributes = '' ; $ level = 1 ; if ( isset ( $ data [ 'level' ] ) ) { $ level = $ data [ 'level' ] ; unset ( $ data [ 'level' ] ) ; } static :: pre_processing ( $ tag , $ data ) ; if ( ! static :: data_prepare ( $ data , $ tag , $ in , $ attributes ) ) { return false ; } if ( ! $ in && $ in !== 0 && $ in !== '0' ) { $ in = '' ; } elseif ( $ level && ( strpos ( $ in , "\n" ) !== false || strpos ( $ in , '<' ) !== false ) ) { $ in = "\n" . static :: level ( "$in\n" , $ level ) ; } return "<$tag$attributes>$in</$tag>" . ( $ level ? "\n" : '' ) ; }
Wrapper for paired tags rendering

@static

@param array|string $in
@param array        $data
@param string       $tag

@return false|string
Wrapper for paired tags rendering