Checks that some string is a text
		
		:param str somestr:
		    It is some string that will be checked for text.
			
		    The text is string that contains only words or special words such as preposition 
		    (what is the word and the special word see at help(palindromus.isword) and help(palindromus.isspecword)).
			All words can be divided any special symbols such as punctuation marks.
			
		    The text can be multiline
			
		:except TypeError:
		    If the checked text is not a string
			
		:return bool:

def istext(somestr):
	"""
		Checks that some string is a text
		
		:param str somestr:
		    It is some string that will be checked for text.
			
		    The text is string that contains only words or special words such as preposition 
		    (what is the word and the special word see at help(palindromus.isword) and help(palindromus.isspecword)).
			All words can be divided any special symbols such as punctuation marks.
			
		    The text can be multiline
			
		:except TypeError:
		    If the checked text is not a string
			
		:return bool:
	"""
	# check invalid data types
	OnlyStringsCanBeChecked(somestr)
	
	# get all matches
	matches = re.findall(r'\w+', somestr.strip(), flags = re.IGNORECASE | re.MULTILINE)
	if not len(matches):
		return False
	else:
		for match in matches:
			if match.find("_") >= 0 or (not isspecword(match) and not isword(match)):
				return False
		return True