blob: ab32fe18db81ad48dc5091c9d59f4fd0e0c09298 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<?php
namespace Parsers;
class ArgumentParser implements ParserInterface {
#===========================================================================
# Parse arguments (*without* duplicates)
#===========================================================================
public function parse(string $text): array {
foreach(explode('|', $text) as $delimiter) {
$part = explode('=', $delimiter);
$argumentK = $part[0] ?? NULL;
$argumentV = $part[1] ?? TRUE;
if(preg_match('#^[[:word:]]+$#', $argumentK)) {
$arguments[strtoupper($argumentK)] = $argumentV;
}
}
return $arguments ?? [];
}
#===========================================================================
# Transform arguments (not implemented)
#===========================================================================
public function transform(string $text): string {
return '';
}
}
|