Created
July 18, 2014 20:17
-
-
Save JayWood/348752b568ecd63ae5ce to your computer and use it in GitHub Desktop.
Close ALL open HTML tags in PHP string
This will close tags that don't need closing, eg <img src="">
... so if you have an image followed by a div
, it'll insert </img>
after the div
.
... but otherwise it seems quite good! Thanks!
You saved my time
Thank you very much!
@JayWood Code is great! But it's not closing h tags such as h1, h2, h3, h4, h5 and h6.
Here are updated code.
function closetags($html) {
preg_match_all('#<([a-zA-Z0-9]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
$openedtags = $result[1];
preg_match_all('#</([a-zA-Z0-9]+)>#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;
}
Great!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Works perfectly, thanks for the post.