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,
        ];
    }