Регулярное выражение для разбора тегов Кирби - PullRequest
0 голосов
/ 27 ноября 2018

Я разрабатываю плагин для Kirby CMS .У него есть тип данных, называемый тегами Кирби.Я хочу разобрать его.

У меня есть следующий вход:

(link: http://google.com/ nospace:yes text: hello world foo: tesat: baz)

Из которого я извлекаю:

link: http://google.com/ nospace:yes text: hello world foo: tesat: baz

Затем мне нужно проанализировать этот вход иполучить следующий вывод:

array (
  'link' => 'http://google.com/',
  'nospace' => 'yes',
  'text' => 'hello world',
  'foo' => '',
  'tesat' => 'baz',
)

Я почти получил желаемый результат, но у меня проблемы с обработкой пустых пар и значений с пробелами.Проверьте мое регулярное выражение здесь :

([a-z0-9_-]+):(?:\s?(\S+))?

По сути, мне нужно сопоставить начало строки или несколько пробелов, затем некоторые символы (ключ), двоеточие и все остальные, пока я не достигну другой комбинации пробелов и символов.

Есть ли способ заставить ее работать?

...