note 91346 added to function.strip-tags
| From: | magus at otserv dot com dot br | Date: | Sun, 07 Jun 2009 07:41:00 +0000 |
| Subject: | note 91346 added to function.strip-tags | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-156428@lists.php.net to get a copy of this message | ||
Here's a function that verify if in a string have broken HTML tags, returning true if do.
Useful for previning broken tags to affect the page.
# Example usage: broken_tags("<b>This is a string</u>") returns TRUE,
broken_tags("<b>This is a string</b>") returns FALSE.
function broken_tags($str)
{
preg_match_all("/(<\w+)(?:.){0,}?>/", $str, $v1);
preg_match_all("/<\/\w+>/", $str, $v2);
$open = array_map('strtolower', $v1[1]);
$closed = array_map('strtolower', $v2[0]);
foreach ($open as $tag)
{
$end_tag = preg_replace("/<(.*)/", "</$1>", $tag);
if (!in_array($end_tag, $closed)) return true;
unset($closed[array_search($end_tag, $closed)]);
}
return false;
}
----
Server IP: 187.16.23.128
Probable Submitter: 64.251.25.150
----
Manual Page -- http://www.php.net/manual/en/function.strip-tags.php
Edit -- https://master.php.net/note/edit/91346
Del: integrated -- https://master.php.net/note/delete/91346/integrated
Del: useless -- https://master.php.net/note/delete/91346/useless
Del: bad code -- https://master.php.net/note/delete/91346/bad+code
Del: spam -- https://master.php.net/note/delete/91346/spam
Del: non-english -- https://master.php.net/note/delete/91346/non-english
Del: in docs -- https://master.php.net/note/delete/91346/in+docs
Del: other reasons-- https://master.php.net/note/delete/91346
Reject -- https://master.php.net/note/reject/91346
Search -- https://master.php.net/manage/user-notes.php