note 106819 added to function.strip-tags

From: Date: Fri, 09 Dec 2011 00:41:21 +0000
Subject: note 106819 added to function.strip-tags
Groups: php.notes 
Request: Send a blank email to php-notes+get-184988@lists.php.net to get a copy of this message
The function strip_javascript that was developed by nathan@8 in this comments at 08-Mar-2009 06:55 has an error that leads into wrong replacements. Below is the corrected function: function strip_javascript($filter){ // realign javascript href to onclick $filter = preg_replace("/href=(['\"]).*?javascript:(.*)?\\1/i", "onclick=' $2 '", $filter); //remove javascript from tags while( preg_match("/\<(.*)?javascript.*?\(.*?((?\>[^()]+)|(?R)).*?\)?\)(.*)?\>/i", $filter)) $filter = preg_replace("/\<(.*)?javascript.*?\(.*?((?\>[^()]+)|(?R)).*?\)?\)(.*)?\>/i", "<$1$3$4$5>", $filter); // dump expressions from contibuted content if(0) $filter = preg_replace("/:expression\(.*?((?\>[^(.*?)]+)|(?R)).*?\)\)/i", "", $filter); while( preg_match("/\<(.*)?:expr.*?\(.*?((?\>[^()]+)|(?R)).*?\)?\)(.*)?\>/i", $filter)) $filter = preg_replace("/\<(.*)?:expr.*?\(.*?((?\>[^()]+)|(?R)).*?\)?\)(.*)?\>/i", "<$1$3$4$5>", $filter); // remove all on* events while( preg_match("/\<(.*)?\s+on.+?=?\s?.+?(['\"]).*?\\2\s?(.*)?\>/i", $filter,$rr) ) { $filter = preg_replace("/\<(.*)?\s+on.+?=?\s?.+?(['\"]).*?\\2\s?(.*)?\>/i", "<$1$3>", $filter); } return $filter; } ---- Server IP: 69.147.83.197 Probable Submitter: 88.31.194.224 ---- Manual Page -- http://www.php.net/manual/en/function.strip-tags.php Edit -- https://master.php.net/note/edit/106819 Del: integrated -- https://master.php.net/note/delete/106819/integrated Del: useless -- https://master.php.net/note/delete/106819/useless Del: bad code -- https://master.php.net/note/delete/106819/bad+code Del: spam -- https://master.php.net/note/delete/106819/spam Del: non-english -- https://master.php.net/note/delete/106819/non-english Del: in docs -- https://master.php.net/note/delete/106819/in+docs Del: other reasons-- https://master.php.net/note/delete/106819 Reject -- https://master.php.net/note/reject/106819 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#184988) next »