View file links.php

File size: 2.09Kb
<?
function img_preg($arr)
{
  	if (preg_match('/\.(?:jp(?:e?g|e|2)|gif|png|tiff?|bmp|ico)$/i', $arr[1])) {
        return '<img class="bb_img" src="' . text($arr[1]) . '" alt="img" />';
    } else {
        return '<img class="bb_img" src="/style/no_image.png" alt="No Image" />';	
    }
}

function links_preg1($arr)
{
  	global $set;

  	if (preg_match('#^http://' . preg_quote($_SERVER['HTTP_HOST']) . '#',$arr[1]) || !preg_match('#://#',$arr[1]))
  	return '<a href="' . $arr[1] . '">' . $arr[2] . '</a>';
  	else
  	return '<a' . ($set['web'] ? ' target="_blank"' : null) . ' href="http://' . $_SERVER['HTTP_HOST'] . '/go.php?go=' . base64_encode(html_entity_decode($arr[1])) . '">' . $arr[2] . '</a>';

}

function links_preg2($arr)
{
  	global $set;
  	if (preg_match('#^http://' . preg_quote($_SERVER['HTTP_HOST']) . '#',$arr[2])){
  	return $arr[1] . '<a href="' . $arr[2] . '" target="_blank">Сcылка</a>' . $arr[4];
  	} else {
	if (strstr($arr[2], 'youtube.com')){
		$youtube['link'] = substr($arr[2], -11);
		echo '<iframe width="90%" height="315" src="https://www.youtube.com/embed/'.$youtube['link'].'" frameborder="0" allowfullscreen></iframe>';
	} else {
	if (strstr($arr[2], '.jpg')){
		$image['jpg'] = $arr[2];
		echo '<a href="'.$image['jpg'].'" target="_blank"><ims src="'.$image['jpg'].'" style="max-width: 300px;margin: auto;"></a>';
	} else {
  	return $arr[1] . '<a' . ($set['web'] ? ' target="_blank"' : null) . ' href="http://' . $_SERVER['HTTP_HOST'] . '/go.php?go=' . base64_encode(html_entity_decode($arr[2])) . '">Ссылка на сторонний ресурс</a>' . $arr[4];
	}
  	}
}

function links($msg)
{
  	global $set;
  	if ($set['bb_img'])$msg = preg_replace_callback('/\[img\]((?!javascript:|data:|document.cookie).+)\[\/img\]/isU', 'img_preg', $msg);
  	if ($set['bb_url'])$msg = preg_replace_callback('/\[url=((?!javascript:|data:|document.cookie).+)\](.+)\[\/url\]/isU', 'links_preg1', $msg); 
  	if ($set['bb_http'])$msg = preg_replace_callback('~(^|\s)([a-z]+://([^ \r\n\t`\'"]+))(\s|$)~iu', 'links_preg2', $msg);
    
  	return $msg;
}
?>