webForumDet fria alternativet

Plocka bort attribut från htmlkod

1 svar · 206 visningar · startad av Peeer

PeeerMedlem sedan mars 20025 907 inlägg
#1

Har nedanstående funktioner för att rensa bort htmlkod (inkl. ev. attribut) från en sträng. Den fungerar fint, fast jag vill ändra en sak. Nu måste jag ange de attribut jag vill ska vara otillåtna, jag vill göra tvärtom (dvs. anger de attribut som ska vara godkända (precis som strip_tags fungerar mao)). Någon som vet hur jag modifierar koden så att den fungerar så?

function removeEvilTags($source){
	$allowedTags = '<b><h1><span>';
	$source = strip_tags($source, $allowedTags);
	return preg_replace('/<(.*?)>/ie', "'<'.removeEvilAttributes('\\1').'>'", $source);
}

function removeEvilAttributes($tagSource){
	$stripAttrib = "' (javascript:|onclick|ondblclick|onmousedown|onmouseup|" . 
		"onmouseover|onmousemove|onload|onmouseout|onkeypress|".
		"onkeydown|onkeyup)(\s*)=(\s*)(\"|\')(.*?)(\"|\')'i";
	$tagSource = stripslashes($tagSource);
	$tagSource = preg_replace($stripAttrib, '', $tagSource);
	return $tagSource;
}
PeeerMedlem sedan mars 20025 907 inlägg
#2

Det var nog svårt det här :(

137 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)