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
@@ -6,6 +6,7 @@ use App\Guide;
use App\News;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
use tidy;
class GuideController extends Controller
{
@@ -75,7 +76,8 @@ class GuideController extends Controller
$news->name = "Ny Vejledning";
$news->subname = $guide->name;
$news->content = substr($guide->guide_articles, 0, 300). '<br><br><a href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->content = $this->closetags(substr($guide->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->save();
@@ -136,7 +138,8 @@ class GuideController extends Controller
$news->name = "Vejledning opdateret";
$news->subname = $guidee->name;
$news->content = substr($guidee->guide_articles, 0, 300). '<br><br><a href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->content = $this->closetags(substr($guidee->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læse mere...</a>';
$news->save();
}
@@ -158,4 +161,25 @@ class GuideController extends Controller
return redirect()->route("guides.index");
}
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;
}
}