[div="desc"][1="text1"][2="text2"][3="link3"][/div]
И это может продолжаться до предела 6. Как можно создать регулярное выражение, которое извлекает «описание», числа и тексты? Я пробовал с массивом php, но не смог.
Спасибо!
[div="desc"][1="text1"][2="text2"][3="link3"][/div]
И это может продолжаться до предела 6. Как можно создать регулярное выражение, которое извлекает «описание», числа и тексты? Я пробовал с массивом php, но не смог.
Спасибо!
Здесь нет рекурсии - по крайней мере, ваш пример этого не показывает. Если в вашем общем случае окажется рекурсия, регулярные выражения не будут работать; вам придется использовать парсер.
В этом случае я бы предложил сначала использовать preg_match_all с регулярным выражением типа /[([^]]+)]/ . Если вы передаете этой функции массив matches
, после запуска preg_match_all matches[1]
должен быть массивом, содержащим строки '[div="desc"]', '[1="text1"]' и т. д. Получив этот массив, вы можете перебрать его, используя foreach
, и разбить каждую строку на =
, а затем делать все, что вам нравится, с двумя частями строки, которые вы проанализировали.