I'm с помощью следующей RegEx разделить строку на ключи и значения:RegEx проблемы с двойными кавычками
Струнные:
type="post" id="1" text="Blog Post"
Regex:
/(?<name>\\S+)=["']?(?P<value>(?:.(?!["']?\\s+(?:\\S+)=|[>"']))+.)["']?/u
Это работает нормально, если каждое значение имеет минимум 2 символа. Я значение только 1 символ длинный (например, здесь). Я получаю цитату после номера. Так что для этого примера с идентификатором я получаю следующий результат:
type => post
id => 1"
text => Blog Post
I've не зная, где моя ошибка в регулярном выражении. Может, кто-нибудь может дать мне подсказку?
Большое спасибо!
Похоже, вы пытаетесь разобрать разметку с регулярным выражением, что никогда не является хорошей идеей. Для разметки вам нужен парсер DOM. –
Нет, я не разбираюсь в DOM. Я ищу Shortcodes (например, Wordpress) в тексте для его обработки. – Michael