ILIAS  release_8 Revision v8.24
class.ilWebDAVMounInstructionsDocumentProcessorBase.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
22{
23 public function parseInstructionsToAssocArray(string $a_raw_mount_instructions): array
24 {
25 $processing_text = $a_raw_mount_instructions;
26
27 $found_instructions = array();
28
29 do {
30 $pair_found = false;
31 $open_with_no_close_tag_found = false;
32
33 $open_tag_start_pos = strpos($processing_text, '[');
34 $open_tag_end_pos = strpos($processing_text, ']');
35
36 if ($open_tag_start_pos !== false && $open_tag_end_pos !== false && $open_tag_start_pos < $open_tag_end_pos) {
37 $tag_name = substr($processing_text, $open_tag_start_pos + 1, $open_tag_end_pos - $open_tag_start_pos - 1);
38 $close_tag = "[/$tag_name]";
39
40 $close_tag_pos = strpos($processing_text, $close_tag);
41
42 if ($close_tag_pos !== false && $open_tag_end_pos < $close_tag_pos) {
43 $found_instructions[$tag_name] = substr($processing_text, $open_tag_end_pos + 1, $close_tag_pos - $open_tag_end_pos - 1);
44
45 $processing_text = substr($processing_text, $close_tag_pos + strlen($close_tag));
46 $pair_found = true;
47 } else {
48 $processing_text = substr($processing_text, $open_tag_end_pos + 1);
49 $open_with_no_close_tag_found = true;
50 }
51 }
52 } while ($pair_found || $open_with_no_close_tag_found);
53
54 if (count($found_instructions) === 0) {
55 $found_instructions = [ $a_raw_mount_instructions ];
56 }
57
58 return $found_instructions;
59 }
60}
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...