split
метод использует регулярное выражение (регулярное выражение). Так как Java 8 regex поддерживает \R
, который представляет (из документации класса Шаблона ):
Соединитель строк\r & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; Любая последовательность строк Unicode, эквивалентна
blockquote>\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]
. Поэтому мы можем использовать ее для соответствия:
\u000D\000A
- >\r\n
пара- \ u000A -> строка (
\n
)- \ u000B -> строка табуляции (НЕ путайте с таблицей символов
\t
, которая является\u0009
)- \ u000C -> feed feed (
\f
)- \ u000D -> возврат каретки (
\r
)- \ u0085 -> следующая строка (NEL)
- \ u2028 -> разделитель строк
- \ u2029 -> разделитель абзацев
Как вы видите
\r\n
помещается в начало регулярного выражения, что гарантирует, что регулярное выражение будет пытаться сначала сопоставить эту пару , и только если он не работает, он попытается сопоставить разделители строк одиночного символа .Итак, если вы хотите используйте разделитель разделителей на линии
split("\\R")
.Если вы не хотите удалять из результирующего массива конечные пустые строки
""
, используйтеsplit(regex, limit)
с отрицательным параметромlimit
, напримерsplit("\\R", -1)
.Если вы хотите рассматривать одну или несколько оставшихся пустых строк в качестве одного разделителя, используйте
split("\\R+")
.
это должно работать ( документ ):
global $theme;
$path = drupal_get_path('theme', $theme);
// there's also a $theme_path global
global $theme_path;
В Drupal 5 можно просто использовать: path_to_theme ()
Это даст Вам полный путь от корня Drupal к определенному каталогу темы. Знайте, это не включает запаздывающую наклонную черту.
В Drupal 6, это ведет себя просто немного по-другому. При вызове его из страниц это назовет то, что в настоящее время делает theming..., является ли это темой, модулем, и т.д. Вот ключевая кавычка из документов API:
Это может указать на активную тему или модуль, обрабатывающий тематическую реализацию. Например, когда вызвано в рамках вызова theming это будет зависеть от того, где функция theming обрабатывается. Если реализовано от модуля, это укажет на модуль. Если реализовано от активной темы, это укажет на активную тему. Когда названо вне объема вызова theming, это будет всегда указывать на активную тему.
В D6 функция path_to_theme() может вести себя не так, как вы ожидаете, в зависимости от того, как вы ее используете. Если вы используете ее вне каких-либо функций препроцесса темы, то она, вероятно, даст вам то, что вы хотите, но если она вызывается в контексте хук-функции модуля тематизации/препроцесса... она будет указывать на путь модуля, который объявил тему.
Например. Если у меня есть тема "my_theme" и мой модуль "my_module", который переопределяет темы форума с помощью preprocess hooks, вызов path_to_theme() внутри моего модуля: например, my_module_preprocess_forums()... вернет "forums", а не "my_theme", как можно было бы ожидать.
Очень фруктово, если вы спросите меня.