/**
  * Parses a rich text to extract the resource list.
  *
  * @param string $text
  * @param bool   $replaceLinks
  *
  * @return array
  */
 public function parse($text, $replaceLinks = true)
 {
     $resources = [];
     // Find media
     $regex = '#[src|href]+="([^"]*file/resource/media/([^\'"]+))"#';
     preg_match_all($regex, $text, $matches, PREG_SET_ORDER);
     if (count($matches) > 0) {
         foreach ($matches as $match) {
             $node = $this->resourceManager->getNode($match[2]);
             if ($node) {
                 $resources = $this->storeResource($resources, $node);
                 if ($replaceLinks) {
                     $text = $this->replaceLink($text, $match[1], '../files/file_' . $match[2]);
                 }
             }
         }
     }
     // Find videos (it's a particular case because the url is not same)
     // We also have the Resource id, not the Node one
     $regex = '#[src|href]+="([^"]*video-player/api/video/([^\'"]+)/stream)"#';
     preg_match_all($regex, $text, $matches, PREG_SET_ORDER);
     if (count($matches) > 0) {
         foreach ($matches as $match) {
             // We have the ID of the Resource, not the Node
             $resource = $this->om->getRepository('ClarolineCoreBundle:Resource\\File')->find($match[2]);
             if ($resource) {
                 $node = $resource->getResourceNode();
                 $resources = $this->storeResource($resources, $node);
                 if ($replaceLinks) {
                     $text = $this->replaceLink($text, $match[1], '../files/file_' . $node->getId());
                 }
             }
         }
     }
     // Find resources
     $regex = '#[src|href]+="([^"]*resource/open/([^/]+)/([^\'"]+))"#';
     preg_match_all($regex, $text, $matches, PREG_SET_ORDER);
     if (count($matches) > 0) {
         foreach ($matches as $match) {
             $node = $this->resourceManager->getNode($match[3]);
             if ($node) {
                 $resources = $this->storeResource($resources, $node);
                 if ($replaceLinks) {
                     $text = $this->replaceLink($text, $match[1], '../scos/resource_' . $match[3] . '.html');
                 }
             }
         }
     }
     return ['text' => $text, 'resources' => $resources];
 }