Здравствуйте. Есть массив с тегами в виде ссылок. Часть тегов имеет несколько типов повторяющихся элементов (Например, тег: "Сюжет — ГМПИ"). Я хочу на основе этих повторений раскидать теги по группам под соответствующие заголовки.
Вот так:
Сюжеты
Тег2, Тег4, Тег5...
Источники
Тег1, Тег3, Тег6...
foreach ($tags as $tagkey => $onetag) {
preg_match_all ("/(<a.+[^>]>Источник.+<\\/a>$)|(<a.+[^>]>Сюжет.+<\\/a>$)|(<a.+[^>]>Текст.+<\\/a>$)/", $onetag, $matches, PREG_PATTERN_ORDER);
$done = preg_replace(\'"(Сюжет\\s—\\s)|(Текст\\s—\\s)|(Источник\\s—\\s)"\', \'\', $matches[1][0] .$matches[2][0] .$matches[3][0] ."\\n");
echo ($done);
}
Вызывая попеременно $matches, у меня получается эти группы выводить, но как приделать к ним заголовок так, чтобы не обходить массив по несколько раз для каждой группы — я не знаю. К тому же, скорее всего этих групп будет около 10. Подскажите, пожалуйста, разумное решение.