• Модуль: subscribe
  • Путь к файлу: ~/bitrix/modules/subscribe/classes/general/posting.php
  • Класс: CMailTools
  • Вызов: CMailTools::ReplaceHrefs
function ReplaceHrefs($text)
{
	if($this->pcre_backtrack_limit === false)
		$this->pcre_backtrack_limit = intval(ini_get("pcre.backtrack_limit"));
	$text_len = defined("BX_UTF")? mb_strlen($text, 'latin1') : mb_strlen($text);
	$text_len++;
	if($this->pcre_backtrack_limit < $text_len)
	{
		@ini_set("pcre.backtrack_limit", $text_len);
		$this->pcre_backtrack_limit = intval(ini_get("pcre.backtrack_limit"));
	}

	if(!isset($this->server_name))
		$this->server_name = COption::GetOptionString("main", "server_name", "");

	if($this->server_name != '')
		$text = preg_replace(
			"/(]*?(?<=\s)href\s*=\s*)(["'])(\/.*?)(\2)(\s.+?>|\s*>)/is",
			"\1\2http://".$this->server_name."\3\4\5",
			$text
		);

	return $text;
}