Teren-app/app/Services/Documents/TokenScanner.php
Simon Pocrnjič e0303ece74 documents
2025-10-12 12:24:17 +02:00

23 lines
542 B
PHP

<?php
namespace App\Services\Documents;
class TokenScanner
{
// Allow entity.attr with attr accepting letters, digits, underscore, dot and hyphen for flexibility (e.g., custom.order-id)
private const REGEX = '/{{\s*([a-zA-Z0-9_]+\.[a-zA-Z0-9_.-]+)\s*}}/';
/**
* @return array<int,string>
*/
public function scan(string $content): array
{
preg_match_all(self::REGEX, $content, $m);
if (empty($m[1])) {
return [];
}
return array_values(array_unique($m[1]));
}
}