Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / metatag / src / MetatagToken.php
index ebaf310d20996ffc60211803ce8044186819dc51..a1190275a6f60abb44ef1921874432b7ad65722e 100644 (file)
@@ -1,6 +1,7 @@
 <?php
 
 namespace Drupal\metatag;
+
 use Drupal\Core\Utility\Token;
 
 /**
@@ -28,23 +29,27 @@ class MetatagToken {
   /**
    * Wrapper for the Token module's string parsing.
    *
-   * @param $string
-   * @param $data
+   * @param string $string
+   *   The string to parse.
+   * @param array $data
+   *   Arguments for token->replace().
    * @param array $options
+   *   Any additional options necessary.
    *
-   * @return mixed|string $string
+   * @return mixed|string
+   *   The processed string.
    */
-  public function replace($string, array $data = [], $options = []) {
+  public function replace($string, array $data = [], array $options = []) {
     // Set default requirements for metatag unless options specify otherwise.
     $options = $options + [
-      'clear' => TRUE
+      'clear' => TRUE,
     ];
 
     $replaced = $this->token->replace($string, $data, $options);
 
     // Ensure that there are no double-slash sequences due to empty token
     // values.
-    $replaced = preg_replace('/(?<!:)\/+\//', '/', $replaced);
+    $replaced = preg_replace('/(?<!:)(?<!)\/+\//', '/', $replaced);
 
     return $replaced;
   }
@@ -68,8 +73,8 @@ class MetatagToken {
 
     // Normalize taxonomy tokens.
     if (!empty($token_types)) {
-      $token_types = array_map(function($value) {
-        return stripos($value, 'taxonomy_') === 0 ? substr($value, strlen('taoxnomy_')) : $value;
+      $token_types = array_map(function ($value) {
+        return stripos($value, 'taxonomy_') === 0 ? substr($value, strlen('taxonomy_')) : $value;
       }, (array) $token_types);
     }