📄 func_article_content.php
字号:
<?php
if (!defined('ROOT'))
exit('Access Denied');
function article_content($con, $title = false)
{
global $_annexs, $quick, $codes, $sell;
$codes = array();
$sell = false;
$_annexs = $con['annex'] ? article_annex($title, $title ? $con['tid'] : $con['pid']) :
array();
$message = &$con['content'];
if ($con['f_ubb'])
{
$message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies",
"article_codedisp('\\1')", $message);
$con['f_html'] or $message = html($message);
$message = preg_replace("/\[em(\d+)\]/ies", "article_emdisp('\\1')", $message,
10);
$codes['s'] = array("/\[url\]\s*(www.|https?:\/\/|ftp:\/\/|gopher:\/\/|news:\/\/|telnet:\/\/|rtsp:\/\/|mms:\/\/|callto:\/\/|bctp:\/\/|ed2k:\/\/|thunder:\/\/|synacast:\/\/){1}([^\[\"']+?)\s*\[\/url\]/ie",
"/\[url=www.([^\[\"']+?)\](.+?)\[\/url\]/is", "/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}:\/\/([^\[\"']+?)\](.+?)\[\/url\]/is",
"/\[email\]\s*([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\s*\[\/email\]/i",
"/\[email=([a-z0-9\-_.+]+)@([a-z0-9\-_]+[.][a-z0-9\-_.]+)\](.+?)\[\/email\]/is",
"/\[color=([#\w]+?)\]/i", "/\[size=(\d+?)\]/i", "/\[size=(\d+(\.\d+)?(px|pt|in|cm|mm|pc|em|ex|%)+?)\]/i",
"/\[font=([^\[\<]+?)\]/i", "/\[align=(left|center|right|justify)\]/i", "/\[float=(left|right)\]/i",
"/\[vid\](\S+?)\[\/vid\]/eis");
$codes['r'] = array("article_cuturl('\\1\\2')", "<a href=\"http://www.\\1\" target=\"_blank\">\\2</a>",
"<a href=\"\\1://\\2\" target=\"_blank\">\\3</a>", "<a href=\"mailto:\\1@\\2\">\\1@\\2</a>",
"<a href=\"mailto:\\1@\\2\">\\3</a>", "<font color=\"\\1\">", "<font size=\"\\1\">",
"<font style=\"font-size: \\1\">", "<font face=\"\\1 \">", "<p align=\"\\1\">",
"<span style=\"float: \\1;\">", "article_vid('\\1')");
$codes['s'][] = "/\[table(?:=(\d{1,4}%?)(?:,([\(\)%,#\w ]+))?)?\]\s*(.+?)\s*\[\/table\]/ies";
$codes['s'][] = "/\[table(?:=(\d{1,4}%?)(?:,([\(\)%,#\w ]+))?)?\]\s*(.+?)\s*\[\/table\]/ies";
$codes['s'][] = "/\s*\[quote\][\n\r]*(.+?)[\n\r]*\[\/quote\]\s*/is";
$codes['s'][] = "/\[backcolor=([#0-9a-z]{1,10})\]/is";
$codes['s'][] = "/\[list=([aA1]?)\](.+?)\[\/list\]/is";
$codes['r'][] = "article_parsetable('\\1', '\\2', '\\3')";
$codes['r'][] = "article_parsetable('\\1', '\\2', '\\3')";
$codes['r'][] = "<fieldset><legend><em>" . $GLOBALS['tpl']['寮曠敤'] .
"</em></legend>\\1</fieldset>";
$codes['r'][] = "<span style=\"background-color:\\1 \">";
$codes['r'][] = "<ol type=\"\\1\">\\2</ol>";
$codes['s2'] = array('[/color]', '[/size]', '[/font]', '[/align]', '[b]', '[/b]',
'[sub]', '[/sub]', '[sup]', '[/sup]', '[strike]', '[/strike]', '[blockquote]',
'[/blockquote]', '[hr]', '[/backcolor]', '[i]', '[/i]', '[u]', '[/u]', '[list]',
'[li]', '[/li]', '[/list]', '[indent]', '[/indent]', '[/float]');
$codes['r2'] = array('</font>', '</font>', '</font>', '</p>', '<strong>',
'</strong>', '<sub>', '</sub>', '<sup>', '</sup>', '<strike>', '</strike>',
'<blockquote>', '</blockquote>', '<hr />', '</span>', '<i>', '</i>', '<u>',
'</u>', '<ul>', '<li>', '</li>', '</ul>', '<blockquote>', '</blockquote>',
'</span>');
$message = preg_replace($codes['s'], $codes['r'], $message);
$message = str_replace($codes['s2'], $codes['r2'], $message);
$message = preg_replace(array("/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies", "/\[img=(\d{1,4})[x|\,](\d{1,4})\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies"),
array("article_bbcodeurl('\\1', '<img src=\"%s\" border=\"0\" onclick=\"zoom(this)\" onload=\"attachimg(this, \'load\')\" alt=\"\" />')",
"article_bbcodeurl('\\3', '<img width=\"\\1\" height=\"\\2\" src=\"%s\" border=\"0\" alt=\"\" />')"),
$message);
$message = preg_replace("/\[a(\d+)\]/ies", "article_adisp('\\1')", $message);
foreach ($_annexs as $val)
{
$message .= $val;
}
if ($title && $con['sell'] > 0)
{
$sell = article_fsell($con);
$message = preg_replace("/\s*\[sell\](.+?)\[\/sell\]\s*/ies", "article_sell('\\1',$con[sell],$con[tid])",
$message);
}
if (is_array($codes['code']))
{
foreach ($codes['code'] as $key => $html)
{
$message = str_replace($key, $html, $message);
}
}
} else
{
$con['f_html'] or $message = html($message);
$message = preg_replace("/\[a(\d+)\]/ies", "article_adisp('\\1')", $message);
foreach ($_annexs as $val)
{
$message .= $val;
}
if ($title && $con['sell'] > 0)
{
$sell = article_fsell($con);
$message = preg_replace("/\s*\[sell\](.+?)\[\/sell\]\s*/ies", "article_sell('\\1',$con[sell],$con[tid]))",
$message);
}
}
return $con['f_html'] ? $message : nl2br(str_replace(array("\t", ' ', ' '),
array(' ', ' ', ' '), $message));
}
function article_cuturl($url)
{
$length = 30;
$urllink = "<a href=\"" . (substr(strtolower($url), 0, 4) == 'www.' ? "http://$url" :
$url) . '" target="_blank">';
if (strlen($url) > $length)
{
$url = substr($url, 0, intval($length * 0.5)) . ' ... ' . substr($url, -intval($length *
0.3));
}
$urllink .= $url . '</a>';
return $urllink;
}
function article_vid($url)
{
return '<script language="javascript">ShowMedia(\'' . $url . '\')</script>';
}
function article_codedisp($code)
{
global $codes;
$key = '[' . uniqid() . ']';
$codes['code'][$key] = '<fieldset><legend><em>' . $GLOBALS['tpl']['浠g爜'] .
'</em></legend>' . html(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is",
"\\1", $code))) . '</fieldset>';
return $key;
}
function article_sell($code, $m, $tid)
{
global $sell;
$code = $sell ? preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code) :
'<a style="text-decoration:underline;" target="ajaxiframe" href="?mod=article&file=fra_sell&tomod=article&tid=' .
$tid . '">' . $GLOBALS['tpl']['鐐瑰嚮杩欓噷鏀
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -