Prøv dette script. $validateTags_open_only_tags hvis du har nogle tags, som ikke behøver afslutning. Det giver også false, hvis de ikke lukkes i den rigtige rækkefølge.
Det er tilladt med argumenter til tagget, f.eks. [img src=""][/img]
function ValidateTags_Callback($tag){ global $validateTags_stack, $validateTags_open_only_tags; if($tag[0] == "/"){ // afslutter tag $cnt = count($validateTags_stack); if($cnt){ // er sidst-push'ede tag det samme som dette afsluttende tag? // og kun hvis ja, fjernes det if("/".$validateTags_stack[$cnt-1] == $tag){ array_pop($validateTags_stack); } }
}else{ // nyt tag if(!in_array(strtolower($tag), $validateTags_open_only_tags)){ array_push($validateTags_stack, $tag); } } }
function ValidateTags($str){ global $validateTags_stack; $validateTags_stack = array(); preg_replace("/\[([^\s\]]+)/ie", "ValidateTags_Callback('$1')", $str); return count($validateTags_stack) == 0 ? true : false; }
function ValidateTags_Callback($tag){ global $validateTags_stack, $validateTags_open_only_tags; if($tag[0] == "/"){ // afslutter tag $cnt = count($validateTags_stack); if($cnt){ // er sidst-push'ede tag det samme som dette afsluttende tag? // og kun hvis ja, fjernes det if("/".$validateTags_stack[$cnt-1] == $tag){ array_pop($validateTags_stack); } }
}else{ // nyt tag if(!in_array(strtolower($tag), $validateTags_open_only_tags)){ array_push($validateTags_stack, $tag); } } }
function ValidateTags($str){ global $validateTags_stack; $validateTags_stack = array(); preg_replace("/\[([^\s\]]+)/ie", "ValidateTags_Callback('$1')", $str); return count($validateTags_stack) == 0 ? true : false; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.