protected function replace_square_brackets_in_smilies()
	{
		// Replace all [ that are inside of <> because they belong to smilies
		if (utf8_strpos($this->message, '<') !== false)
		{
			$this->bracket_replacement = '{' . md5($this->message) . '}';
			while (utf8_strpos($this->message, $this->bracket_replacement) !== false)
			{
				$this->bracket_replacement = '{' . $this->bracket_replacement . '}';
			}
			$smilie_starts = explode('<', $this->message);
			$new_message = array();
			foreach ($smilie_starts as $smilie_test)
			{
				$find_end = explode('>', $smilie_test);
				if (sizeof($find_end) > 1)
				{
					$find_end[0] = str_replace('[', $this->bracket_replacement, $find_end[0]);
					$new_message[] = implode('>', $find_end);
				}
				else
				{
					$new_message[] = $smilie_test;
				}
			}
			$this->message = implode('<', $new_message);
			//$this->message = preg_replace('/(\<[^>]*)\[(?=[^<]*\>)/', $this->bracket_replacement, $this->message);
		}
	}