ILIAS
release_10 Revision v10.1-43-ga1241a92c2f
◀ 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
}
Yaml
ILIAS\UI\Implementation\Crawler\EntriesYamlParser
Definition:
EntriesYamlParser.php:30
ILIAS\UI\Implementation\Crawler\EntriesYamlParser\getPHPArrayFromYamlArray
getPHPArrayFromYamlArray(array $yaml_entries)
Definition:
EntriesYamlParser.php:227
ILIAS\UI\Implementation\Crawler\ExamplesYamlParser\PARSER_STATE_END
const PARSER_STATE_END
Definition:
ExamplesYamlParser.php:28
ComponentEntry
ILIAS\UI\Implementation\Crawler\ExamplesYamlParser\getYamlEntriesFromString
getYamlEntriesFromString(string $content)
Definition:
ExamplesYamlParser.php:30
ILIAS\UI\Implementation\Crawler\Entry
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition:
AbstractEntryPart.php:21
ILIAS\UI\Implementation\Crawler\EntriesYamlParser\purifyYamlLine
purifyYamlLine(string $line)
Definition:
EntriesYamlParser.php:219
ILIAS\UI\Implementation\Crawler
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition:
Crawler.php:21
ILIAS\UI\Implementation\Crawler\ExamplesYamlParser
Definition:
ExamplesYamlParser.php:26
components
ILIAS
UI
src
Implementation
Crawler
ExamplesYamlParser.php
Generated on Wed Sep 10 2025 15:16:46 for ILIAS by
1.8.13 (using
Doxyfile
)