• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/filter_dictionary.php
  • Класс: CAllFilterUnquotableWords
  • Вызов: CAllFilterUnquotableWords::CheckPattern
static function CheckPattern($sPattern, &$sError)
{
	$arError = array();
	$sDelimiter = mb_substr($sPattern, 0, 1);
	if ($sDelimiter !== '/') // security restriction
		$arError[] = array(
			"code" => "bad_delimiter",
			"title" => GetMessage("FLT_ERR_BAD_DELIMITER"));
	// Check Modificators
	$sModificators = strrchr(mb_substr($sPattern, 1), $sDelimiter);
	if ($sModificators && mb_strpos($sModificators, "e") !== false)
		$arError[] = array(
			"code" => "bad_modificator",
			"title" => GetMessage("FLT_ERR_BAD_MODIFICATOR"));
	ob_end_clean();
	ob_start();
	$arTest = array();
	$sTest = preg_match($sPattern, "test string", $arTest);
	$contents = ob_get_contents();
	ob_end_clean();
	if (!empty($contents))
		$arError[] = array(
			"code" => "bad_pattern",
			"title" => GetMessage("FLT_ERR_BAD_PATTERN"));
	if (empty($arError))
		return true;
	$sError = ForumShowError($arError);
	return false;
}