You are here

protected function Pinterest::matchRegexp in Media entity Pinterest 8.2

Runs preg_match on embed code/URL.

Parameters

\Drupal\media\MediaInterface $media: Media object.

Return value

array|bool Array of preg matches or FALSE if no match.

See also

preg_match()

1 call to Pinterest::matchRegexp()
Pinterest::getMetadata in src/Plugin/media/Source/Pinterest.php
Gets the value for a metadata attribute for a given media item.

File

src/Plugin/media/Source/Pinterest.php, line 150

Class

Pinterest
Provides media type plugin for Pinterest.

Namespace

Drupal\media_entity_pinterest\Plugin\media\Source

Code

protected function matchRegexp(MediaInterface $media) {
  $matches = [];
  $source_field = $this
    ->getSourceFieldDefinition($media->bundle->entity)
    ->getName();
  if ($media
    ->hasField($source_field)) {
    $property_name = $media->{$source_field}
      ->first()
      ->mainPropertyName();
    foreach (static::$validationRegexp as $pattern => $key) {

      // URLs will sometimes have urlencoding, so we decode for matching.
      if (preg_match($pattern, urldecode($media->{$source_field}->{$property_name}), $matches)) {
        return $matches;
      }
    }
  }
  return FALSE;
}