Регулярное выражение для разбора тегов Кирби

Я разрабатываю плагин для 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+))?

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

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]