selectify-1.0.3/src/TwigExtension/SelectifyTwigExtension.php

src/TwigExtension/SelectifyTwigExtension.php
<?php

declare(strict_types=1);

namespace Drupal\selectify\TwigExtension;

use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;

/**
 * Provides Twig extensions for Selectify.
 */
class SelectifyTwigExtension extends AbstractExtension {

  /**
   * {@inheritdoc}
   */
  public function getFilters(): array {
    return [
      new TwigFilter('selectify_clean_id', [$this, 'cleanId']),
    ];
  }

  /**
   * Sanitizes a string to be used as a valid HTML ID.
   *
   * @param string|null $string
   *   The string to clean. Can be null for optional form values.
   *
   * @return string
   *   The cleaned ID, or empty string if null.
   */
  public function cleanId(?string $string): string {
    if ($string === NULL || $string === '') {
      return '';
    }

    $cleaned = preg_replace('/[^a-zA-Z0-9_-]/', '-', $string);

    return $cleaned ?? '';
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc