/** * Converts line breaks to a standard \r\n pattern. * * @static */ public static function normalizeEol($string) { return \October\Rain\Support\Str::normalizeEol($string); }
/** * Same as parse method, except the line number where the respective section * begins is returned. * @param string $content Specifies the file content. * @return array Returns an array with the following indexes: 'settings', 'markup', 'code'. */ public static function parseOffset($content) { $content = Str::normalizeEol($content); $sections = preg_split('/^={2,}\\s*/m', $content, -1); $count = count($sections); $result = ['settings' => null, 'code' => null, 'markup' => null]; if ($count >= 3) { $result['settings'] = self::adjustLinePosition($content); $result['code'] = self::calculateLinePosition($content); $result['markup'] = self::calculateLinePosition($content, 2); } elseif ($count == 2) { $result['settings'] = self::adjustLinePosition($content); $result['markup'] = self::calculateLinePosition($content); } elseif ($count == 1) { $result['markup'] = 1; } return $result; }