Helper function of self.parse() handling opening tags.

		Arguments:
			string (str): The string being parsed.
			pos (int): The index/position of the opening tag in the string.

		Returns:
			The (possibly) escaped string, a child phrase if the opening tag
			was not escaped and otherwise None, and a new tag match, either
			starting at one index passed the escaped tag or one index passed
			the closing tag of the child.

def open_phrase(self, string, pos):

		"""
		Helper function of self.parse() handling opening tags.

		Arguments:
			string (str): The string being parsed.
			pos (int): The index/position of the opening tag in the string.

		Returns:
			The (possibly) escaped string, a child phrase if the opening tag
			was not escaped and otherwise None, and a new tag match, either
			starting at one index passed the escaped tag or one index passed
			the closing tag of the child.
		"""

		# Check for escaping
		if string[pos - 1] == "\\":
			# Remove the escape character
			string = string[:pos - 1] + string[pos:]

			# When removing the escape character, the
			# pos tag index is pushed one back
			pos -= 1

			# If the escape character was not itself (double)
			# escaped we can look for the next tag
			if pos == 0 or string[pos - 1] != "\\":
				tag = self.meta.search(string, pos + 1)

				return string, None, tag

		child = Phrase(pos)

		escaped, child = self.parse(string[pos + 1:], child)

		string = string[:pos + 1] + escaped

		tag = self.meta.search(string, child.closing + 1)

		return string, child, tag