diff --git a/src/Transformer.php b/src/Transformer.php
index 598af92..4419e4e 100644
--- a/src/Transformer.php
+++ b/src/Transformer.php
@@ -7,6 +7,54 @@ class Transformer
public function transform(string $data) : string
{
$data = $this->processWeblinks($data);
+ $data = $this->processBulletedLists($data);
+ $data = $this->replaceTags($data, 'bold', 'strong');
+ $data = $this->processNumberedLists($data);
+ return $data;
+ }
+
+ public function processBulletedLists(string $data) : string
+ {
+ // The changes should be like this. An input would be
+ // First bulletSecond bullet
.
+ // And then the output should become
+ //
- First bullet
- Second bullet
.
+ return $this->processListType($data, 'bulleted', 'ul');
+ }
+
+ public function processNumberedLists(string $data) : string
+ {
+ // The changes should be like this. An input would be
+ // First bulletSecond bullet
.
+ // And then the output should become
+ // - First bullet
- Second bullet
.
+ return $this->processListType($data, 'numbered', 'ol');
+ }
+
+ protected function processListType(string $data, $list_type, $replacement_tag)
+ {
+ // First find the surrounding text of the list.
+ $regex = '([\S\s]*?)<\/list>';
+ $match = [];
+ preg_match_all('/' . $regex . '/', $data, $match);
+ if (empty($match[0])) {
+ return $data;
+ }
+ foreach ($match[0] as $key => $value) {
+ $inside = $this->replaceTags($match[1][$key], 'listItem', 'li');
+ $data = str_replace($value, '<' . $replacement_tag . '>' . $inside . '' . $replacement_tag . '>', $data);
+ }
+ return $data;
+ }
+
+ public function replaceTags(string $data, $tag, $replacement_tag) : string
+ {
+ $data = str_replace('<' . $tag . '>', '<' . $replacement_tag . '>', $data);
+ $data = str_replace('' . $tag . '>', '' . $replacement_tag . '>', $data);
+ // Also self closing tags in a couple of variations.
+ $self_closing_replacement = '<' . $replacement_tag . ' />';
+ $data = str_replace('<' . $tag . ' />', $self_closing_replacement, $data);
+ $data = str_replace('<' . $tag . '/>', $self_closing_replacement, $data);
return $data;
}
diff --git a/tests/assets/cases.json b/tests/assets/cases.json
index 93a3da7..db364ed 100644
--- a/tests/assets/cases.json
+++ b/tests/assets/cases.json
@@ -6,5 +6,13 @@
{
"input": "Vi viser til https://www.example.comgjeldende forskrift og tilhørende retningslinjer.",
"expected": "Vi viser til gjeldende forskrift og tilhørende retningslinjer."
+ },
+ {
+ "input": "Kunnskap
Etter fullført studium skal kandidaten
ha bred kunnskap om relevante lover og forskrifter samt internasjonale avtalerha grunnleggende innsikt i økologi, naturregistrering og overvåkningha grunnleggende kunnskap om norsk flora og faunaha kunnskap om skjøtsel- og tilretteleggingstiltak
Ferdigheter
Etter fullført studium skal kandidaten
kunne planlegge og gjennomføre ulike typer oppsynsvirksomhetkunne anvende lovbestemmelser som regulerer oppsynsvirksomhet og forvaltning av naturområder og kulturminnervise god innsikt i fagets yrkesetikk og evne til å reflektere over utøvelsen av arbeidsoppgaver knyttet til oppsynsarbeidetvære i stand til å vurdere sikker ferdsel, alene eller som leder av en gruppe, til ulike årstider og i ulike naturtypervære i stand til å identifisere ulike typer kulturminnerkunne gi veiledning og informasjon om natur og kulturminner
Generell kompetanse
Etter fullført studium skal kandidaten
ha innsikt i ulike oppsynstjenester knyttet til natur og kulturminner, herunder myndighet, rapportering og yrkesetikkforstå relevante lovbestemmelser som gjør det mulig å gjennomføre kontrollfunksjoner i oppsynsarbeidetforstå fagets etiske utfordringer
",
+ "expected": "Kunnskap
Etter fullført studium skal kandidaten
- ha bred kunnskap om relevante lover og forskrifter samt internasjonale avtaler
- ha grunnleggende innsikt i økologi, naturregistrering og overvåkning
- ha grunnleggende kunnskap om norsk flora og fauna
- ha kunnskap om skjøtsel- og tilretteleggingstiltak
Ferdigheter
Etter fullført studium skal kandidaten
- kunne planlegge og gjennomføre ulike typer oppsynsvirksomhet
- kunne anvende lovbestemmelser som regulerer oppsynsvirksomhet og forvaltning av naturområder og kulturminner
- vise god innsikt i fagets yrkesetikk og evne til å reflektere over utøvelsen av arbeidsoppgaver knyttet til oppsynsarbeidet
- være i stand til å vurdere sikker ferdsel, alene eller som leder av en gruppe, til ulike årstider og i ulike naturtyper
- være i stand til å identifisere ulike typer kulturminner
- kunne gi veiledning og informasjon om natur og kulturminner
Generell kompetanse
Etter fullført studium skal kandidaten
- ha innsikt i ulike oppsynstjenester knyttet til natur og kulturminner, herunder myndighet, rapportering og yrkesetikk
- forstå relevante lovbestemmelser som gjør det mulig å gjennomføre kontrollfunksjoner i oppsynsarbeidet
- forstå fagets etiske utfordringer
"
+ },
+ {
+ "input": "Førerrett for klasse S i minst tre årGodkjenning som trafikklærer eller pedagogisk utdanning som tilsvarer kravene til lærere i det offentlige skoleverk.
Søkere som ikke fyller kravet til punkt 2, men er tilknyttet kursarrangør som driver opplæring klasse S kan få innvilget opptak om de fremlegger dokumentasjon fra kursarrangør som viser at de har relevant opplæring og erfaring for å bli instruktør klasse S. Søker må i tillegg dokumentere generell studiekompetanse eller realkompetanse.
",
+ "expected": "- Førerrett for klasse S i minst tre år
- Godkjenning som trafikklærer eller pedagogisk utdanning som tilsvarer kravene til lærere i det offentlige skoleverk.
Søkere som ikke fyller kravet til punkt 2, men er tilknyttet kursarrangør som driver opplæring klasse S kan få innvilget opptak om de fremlegger dokumentasjon fra kursarrangør som viser at de har relevant opplæring og erfaring for å bli instruktør klasse S. Søker må i tillegg dokumentere generell studiekompetanse eller realkompetanse.
"
}
]
\ No newline at end of file