Example #1
0
 /**
  * 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;
 }