/** * Extract sub-shortcode content of a shortcode * @param type $content * @param type $recursion * @return type */ public static function extractSubShortcode($content = '', $recursion = false) { if (empty(self::$pattern)) { self::$pattern = self::shortcodesPattern(); } preg_match_all(self::$pattern, $content, $out); if ($recursion) { return self::extractSubShortcode($out[5][0]); } // categorize sub shortcodes content $subScTags = array(); // sub sortcodes content $subScData = $out[0]; foreach ($subScData as $scSata) { // get shortcode name preg_match('/\\[([^\\s]+)/', $scSata, $matches); if ($matches) { $scClass = self::getShortcodeClass($matches[1]); $subScTags[$scClass][] = $scSata; } } return $subScTags; }