| Conditions | 3 |
| Paths | 3 |
| Total Lines | 16 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 43 | private function replaceShortcodes($html) |
||
| 44 | { |
||
| 45 | preg_match_all('/\[\[BLOCK\((.*)\)\]\]/U', $html, $matches); |
||
| 46 | $replaceBlocks = []; |
||
| 47 | foreach ($matches[1] as $blockIndex => $blockName) { |
||
| 48 | // prevent loading same block twice |
||
| 49 | if (isset($replaceBlocks[$matches[0][$blockIndex]])) { |
||
| 50 | continue; |
||
| 51 | } |
||
| 52 | |||
| 53 | $replaceBlocks[$matches[0][$blockIndex]] = $this->blockRepository->get($blockName); |
||
| 54 | } |
||
| 55 | |||
| 56 | return str_replace(array_keys($replaceBlocks), $replaceBlocks, $html); |
||
| 57 | |||
| 58 | } |
||
| 59 | } |
||
| 60 |