ILIAS
trunk Revision v11.0_alpha-3011-gc6b235a2e85
◀ ilDoc Overview
ExamplesYamlParser.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\UI\Implementation\Crawler
;
22
23
use Symfony\Component\Yaml;
24
use
ILIAS\UI\Implementation\Crawler\Entry
as
Entry
;
25
26
class
ExamplesYamlParser
extends
EntriesYamlParser
27
{
28
public
const
PARSER_STATE_END
= 5;
29
30
protected
function
getYamlEntriesFromString
(
string
$content): array
31
{
32
$parser_state =
self::PARSER_STATE_OUTSIDE
;
33
$entry =
""
;
34
35
foreach
(preg_split(
"/((\r?\n)|(\r\n?))/"
, $content) as $line) {
36
37
if
($parser_state === self::PARSER_STATE_OUTSIDE) {
38
if
(preg_match(
'/---/'
, $line)) {
39
$entry =
""
;
40
$parser_state =
self::PARSER_STATE_ENTRY
;
41
}
42
43
} elseif ($parser_state === self::PARSER_STATE_ENTRY) {
44
if
(!preg_match(
'/(\*$)|(---)/'
, $line)) {
45
$entry .= $this->
purifyYamlLine
($line) .
"\n"
;
46
}
47
if
(preg_match(
'/---/'
, $line)) {
48
$parser_state =
self::PARSER_STATE_END
;
49
}
50
}
51
}
52
if
($parser_state !== self::PARSER_STATE_END) {
53
return
[];
54
}
55
56
$entry = $this->
getPHPArrayFromYamlArray
([$entry]);
57
return
array_shift($entry);
58
}
59
}
ILIAS\UI\Implementation\Crawler\EntriesYamlParser
Definition:
EntriesYamlParser.php:31
ILIAS\UI\Implementation\Crawler\EntriesYamlParser\PARSER_STATE_OUTSIDE
const PARSER_STATE_OUTSIDE
Definition:
EntriesYamlParser.php:32
ILIAS\UI\Implementation\Crawler\EntriesYamlParser\purifyYamlLine
purifyYamlLine(string $line)
Definition:
EntriesYamlParser.php:219
ILIAS\UI\Implementation\Crawler\EntriesYamlParser\getPHPArrayFromYamlArray
getPHPArrayFromYamlArray(array $yaml_entries)
Definition:
EntriesYamlParser.php:227
ILIAS\UI\Implementation\Crawler\EntriesYamlParser\PARSER_STATE_ENTRY
const PARSER_STATE_ENTRY
Definition:
EntriesYamlParser.php:33
ILIAS\UI\Implementation\Crawler\ExamplesYamlParser
Definition:
ExamplesYamlParser.php:27
ILIAS\UI\Implementation\Crawler\ExamplesYamlParser\PARSER_STATE_END
const PARSER_STATE_END
Definition:
ExamplesYamlParser.php:28
ILIAS\UI\Implementation\Crawler\ExamplesYamlParser\getYamlEntriesFromString
getYamlEntriesFromString(string $content)
Definition:
ExamplesYamlParser.php:30
ILIAS\UI\Implementation\Crawler\Entry
Definition:
AbstractEntryPart.php:21
ILIAS\UI\Implementation\Crawler
Definition:
Crawler.php:21
components
ILIAS
UI
src
Implementation
Crawler
ExamplesYamlParser.php
Generated on Sat Oct 18 2025 23:04:41 for ILIAS by
1.9.4 (using
Doxyfile
)