v0.5.15b - Fixed bug

This commit is contained in:
frederikpyt
2020-08-10 10:21:09 +02:00
parent 3263663f3d
commit 1bea8401b4
4 changed files with 56 additions and 9 deletions
@@ -82,7 +82,7 @@ class EventController extends Controller
$news->name = "Ny aktivitet";
$news->subname = $event->name;
$news->content = "<p>" . substr($event->description, 0, 300) . "</p>" .
$news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)) . "</p>" .
'<div class="row align-items-center">'.
'<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="'. route("userevents.create", ["event_id" => $event->id ]) .'">Tilmeld</a>'.
'<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere...</a>'.
@@ -179,7 +179,7 @@ class EventController extends Controller
$news->name = "Aktivitet opdateret";
$news->subname = $event->name;
$news->content = "<p>" . substr($event->description, 0, 300). "</p>" .
$news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)). "</p>" .
'<div class="row align-items-center">'.
'<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="'. route("userevents.create", ["event_id" => $event->id ]) .'">Tilmeld</a>'.
'<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere...</a>'.
@@ -263,7 +263,25 @@ class EventController extends Controller
}
public function closetags($html) {
preg_match_all('#<(?!meta|img|br|hr|input\b)\b([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
$openedtags = $result[1];
preg_match_all('#</([a-z]+)>#iU', $html, $result);
$closedtags = $result[1];
$len_opened = count($openedtags);
if (count($closedtags) == $len_opened) {
return $html;
}
$openedtags = array_reverse($openedtags);
for ($i=0; $i < $len_opened; $i++) {
if (!in_array($openedtags[$i], $closedtags)) {
$html .= '</'.$openedtags[$i].'>';
} else {
unset($closedtags[array_search($openedtags[$i], $closedtags)]);
}
}
return $html;
}
}