	public function clean($input)
	{
		require_once APPPATH.'libraries/htmlpurifier/HTMLPurifier.auto.php';

		$config = HTMLPurifier_Config::createDefault();
		// Defaults to UTF-8
		// $config->set('Core.Encoding', 'UTF-8');
		// $config->set('HTML.Doctype', 'XHTML 1.0 Transitional');
		$config->set('Core.EnableIDNA', TRUE);
		$config->set('HTML.Allowed', "a[href|title],p,img[src|alt],br,b,u,strong,em,i");
		// Allow some basic iframes
		$config->set('HTML.SafeIframe', true);
		$config->set('URI.SafeIframeRegexp', 
			'%^http://(www.youtube.com/embed/|player.vimeo.com/video/|w.soundcloud.com/player)%'
		);
		$config->set('Filter.YouTube', true);
		$purifier = new HTMLPurifier($config);
		$clean_html = $purifier->purify($input);

		return $clean_html;
	}
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.