/**
* rhhz.js ---浠佸拰杞欢鍓嶇鎻掍欢js闆嗗悎
* tools{
* subTextMax:鏂囨湰鍐呭鎸夐暱搴﹁缃埅鍙?
* menuView:鎸夌収椤甸潰璁剧疆杩涜椤甸潰鑿滃崟瀵瑰簲楂樹寒
* }
* function{
* hasChinese:鍒ゆ柇褰撳墠瀵硅薄涓槸鍚﹀寘鍚腑鏂囧瓧绗?
* trim:瑙e喅IE 瀵筳query Trim鏂规硶鐨勫吋瀹规€?
* startWith:鍒ゆ柇褰撳墠瀵硅薄鏄惁浠ュ瓧绗﹀紑濮?
* endWith:鍒ゆ柇瀛楃涓叉槸鍚︿互瀛楃缁撴潫,
* getFileUrl:鑾峰彇鏈湴璧勬簮鏂囦欢鐨勮矾寰?
* preImg:棰勮鏈湴鍥剧墖,
* getUrlParam:鑾峰彇URL鍙傛暟鍒楄〃,
* getRefSupIndex:鑾峰彇鍙傝€冩枃鐚紩鐢ㄧ储寮?
* isNull:鍒ゆ柇瀵硅薄鏄惁涓虹┖,
* formatDateToEn:灏嗘棩鏈熻浆鎹㈡垚鑻辨枃鏍煎紡 2016-1-1 --> 01 Jan 2016
* GetRandomNum:鑾峰彇闅忔満鏁
* dateStr:鑾峰彇缃戦〉椤堕儴鏄剧ず闇€瑕佺殑鏃ユ湡淇℃伅 鍙傛暟锛宼ype 1:涓枃 2鑻辨枃 3鑻辨枃绠€鍐 锛 2017-1-11 鏄熸湡涓堺 Wednesday, 11 January, 2017 ;Jan 20th, Wednesday
* shareTools(type,obj):鍒嗕韩宸ュ叿锛宷zone,sina,weixin,renren,google+,facebook,linkedin,twitter
* }
*
* @version v1.0
* @date 2016-09-30
*/
+function ($) {
//璁剧疆瀛楃涓叉埅鍙栭粯璁ゅ弬鏁
var subTextDefaluts = {
add_title: true, //榛樿鎴彇鍚庤缃叏鍐呭title
trim: true,//榛樿鎴彇鍚庡幓闄ら灏剧┖鍙婃崲琛岋紝鎰熻娌″暐鐢紝鍚庨潰鑰冭檻鍙栨秷
content_type: 'html',//榛樿澶勭悊鍐呭涓篽tml鏍囩锛屽璁剧疆涓簍ext浼氭竻闄ゅ師鏈夋爣绛
keep_len: 10//榛樿鎴彇淇濈暀10涓瓧绗︼紝寤鸿閲囩敤閰嶇疆鏂瑰紡鎴栬€呭湪鏍囩涓缃
};
//璁剧疆鑿滃崟楂樹寒榛樿鍙傛暟
var menuDefaults = {
defaultPage: 'index', //榛樿鑾峰彇涓嶅埌椤甸潰绱㈠紩锛岃缃负棣栭〉
pageViewId: 'pageViewId', //椤甸潰绱㈠紩鍙栧€糏D
hightLightTag: 'li', //闇€瑕佽缃珮浜殑鏍囩
highLightClass: 'current', //褰撳墠椤甸€変腑楂樹寒class
pageRelAttr: 'rel_page', //鑿滃崟鍒楄〃涓储寮曞睘鎬ф爣璇
pageRelTag: 'li span' //鑿滃崟鍒楄〃涓储寮曞彇鍊兼爣绛撅紝榛樿鍙杢ext().trim(),pageRelTag鍜宲ageRelAttr涓嶉渶瑕佸悓鏃跺瓨鍦
}
$.fn.subTextMax = function (options) {
var opts = $.extend({}, subTextDefaluts, options);
return this.each(function () {
var keepindex = parseInt($(this).attr("keep_len") == undefined ? opts.keep_len : $(this).attr("keep_len"));//瓒呭嚭keep鍊奸渶瑕佹埅鍙
var contentHtml = $(this).html().replace(/ /ig, '').replace(/\s+/g, ' ').replace(/\t|\r|\n/g, "").replace(' ', '').replace(/
/g, "
").trim();
//var contentText = $(this).text().replace(/ /ig, '').replace(/\s+/g, ' ').replace(/\t|\r|\n/g,"").trim();
var contentText = filterHTMLTag(contentHtml);
if (contentText.length > keepindex) {
//濡傛灉闇€瑕侊紝鍙姞title锛宼itle涓哄叏閮ㄦ枃鏈唴瀹
if (opts.add_title) {
if ($(this).attr("title") == '' || $(this).attr("title") == undefined) {
$(this).attr("title", contentText);
}
}
contentText = contentText.substr(0, keepindex);
if (opts.content_type == 'text') {
$(this).html(contentText + "...");
} else {
//瀵笻TML鏍囩鍐呭杩涜鎴彇鍒嗕负鍥涗釜姝ラ1瀛樺偍鍘熸湁鏍囩 2鎸夌収text杩涜鎴彇 3瀵规埅鍙栧悗鐨則ext杩涜鏍囩鎻掑叆 4琛ュ叏鏈棴鍚堟爣绛
//1.澶勭悊鍘熸湁鏍囩
//鑾峰彇褰撳墠鍐呭涓殑鍚勪釜鏍囩鍙婃墍鍦ㄤ綅缃
var rgx = /<[^<^>]+>/; //鏍囩鍖归厤姝e垯
var index = 0;
var tags = new Array();
while (rgx.test(contentHtml)) {
var t = new Object();
//鏍囩鍑虹幇鐨勪綅缃
t.index = index + contentHtml.search(rgx);
//鏍囩鍐呭
t.tag = contentHtml.match(rgx).toString();
//姣忔鍖归厤绗竴涓爣绛撅紝鍖归厤瀹屽垹闄ゆ鏍囩锛屽悓鏃剁储寮曚綅缃姞褰撳墠鏍囩鐨勯暱搴
var len = contentHtml.search(/<[^<^>]+>/) + contentHtml.match(/<[^<^>]+>/)[0].length;
contentHtml = contentHtml.substr(len);
index += len;
tags.push(t);
}
//2.鎴彇text鍐呭锛屼笂闈㈠凡缁忔埅鍙栬繃浜
//3.濉厖鍘熸湁鏍囩
if (tags.length > 0) {
$.each(tags, function (i, e) {
if (e.index > contentText.length) {
//濡傛灉褰撳墠鑺傜偣鐨勫紑濮嬩綅缃ぇ浜庡綋鍓嶈繑鍥炲瓧绗︿覆鐨勯暱搴﹀垯涓嶅啀缁х画鍒ゆ柇
tags = tags.slice(0, i);
return false;
} else {
//灏嗗師鏈夋爣绛炬彃鍏ュ師浣嶇疆
contentText = contentText.substr(0, e.index) + e.tag + contentText.substr(e.index, contentText.length);
}
})
}
//4.闂悎鏍囩
//鑾峰彇鏈棴鍚堟爣绛撅紝鏍囩濉厖鏃朵笉闇€瑕佸~鍏呯殑鏍囩閮借slice杩囨护鎺変簡锛屾墍浠ュ墿涓嬬殑閮芥槸宸茬粡鍦ㄥ唴瀹逛腑鐨勬爣绛句簡锛岄渶瑕佽繘琛屽垽鏂棴鍚堝鐞
var insertTags = new Array();//宸叉纭彃鍏ユ爣绛
var uncloseTags = new Array();//鏈棴鍚堟爣绛
if (tags.length > 0) {
$.each(tags, function (i, e) {
//鍏堝皢鎵€鏈夋彃鍏ョ殑鏍囩鏀惧埌鎻掑叆鍜屾湭闂悎鍒楄〃涓
uncloseTags.push(e.tag);
insertTags.push(e.tag);
})
$.each(insertTags, function (i, e) {
//鑷棴鍚堟爣绛句笉闇€瑕佽ˉ鍏紝鍒犻櫎濡侟br/>
if (/<[^<^>^\/]+\/>/.test(e)) {
uncloseTags.splice($.inArray(e, uncloseTags), 1);
return true;
}
//瀵瑰乏鏍囩杩涜闂悎鍒ゆ柇锛屽鏋滃悓鏃跺瓨鍦ㄤ竴缁勫乏鍙虫爣绛撅紝鍒欏悓鏃跺垹闄ゅ嵆鍙紝鐢变簬鎴愮粍鐨勫垹闄わ紝鎵€浠ヤ笉鐢ㄨ€冭檻澶氫釜瀵瑰簲涓€涓?/div>鐨勬儏鍐碉紝鎴戜滑鍙渶瑕佹寜鐓ч『搴忚幏鍙栧埌鏈棴鍚堢殑鍒楄〃鍗冲彲
if (/<[^<^>^\/]+>/.test(e)) {
var tagClosed = "";
if (e.indexOf(" ") > 0) {
tagClosed = "" + e.substring(1, e.indexOf(" ")) + ">";
} else {
tagClosed = "" + e.substring(1, e.length);
}
//鍚屾椂瀛樺湪闂悎鏍囩
if ($.inArray(tagClosed, uncloseTags) != -1) {
uncloseTags.splice($.inArray(e, uncloseTags), 1);
uncloseTags.splice($.inArray(tagClosed, uncloseTags), 1);
}
}
})
}
//姝ゆ椂uncloseTags宸茬粡鏄湭闂悎鐨勬爣绛惧垪琛ㄤ簡
//鐢熸垚闂悎鏍囩锛屾牴鎹爣绛惧祵濂楄鍒欙紝鍙虫爣绛惧拰宸︽爣绛惧搴旓紝濡侟div>
--
锛屾墍浠ュ厛灏嗘湭闂悎鏍囩鏁扮粍閫嗗簭
if (uncloseTags.length > 0) {
var closeTagStr = "";
uncloseTags.reverse();
$.each(uncloseTags, function (i, e) {
if (e.indexOf(" ") > 0) {
closeTagStr += "" + e.substring(1, e.indexOf(" ")) + ">";
} else {
closeTagStr += "" + e.substring(1, e.length);
}
})
contentText += "..." + closeTagStr;
} else {
contentText += "...";
}
//鎷兼帴瀹屾垚
$(this).html(contentText);
}
}
})
}
}(jQuery);
/**
* 鑷畾涔夊瓧绗︿覆缁撳熬鍒ゅ畾鏂规硶锛屼互s缁撳熬杩斿洖true锛屽惁鍒欒繑鍥瀎alse
* @param s
* @return
*/
String.prototype.endWith = function (s) {
if (s == null || s == "" || this.length == 0 || s.length > this.length)
return false;
if (this.substring(this.length - s.length) == s)
return true;
else
return false;
return true;
}
/**
* 鑷畾涔夊瓧绗︿覆寮€濮嬪垽瀹氭柟娉曪紝浠寮€濮嬭繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse
* @param s
* @return
*/
String.prototype.startWith = function (s) {
if (s == null || s == "" || this.length == 0 || s.length > this.length)
return false;
if (this.substr(0, s.length) == s)
return true;
else
return false;
return true;
}
/**
* IE娴忚鍣ㄥ吋瀹筳query trim鏂规硶
* @return
*/
String.prototype.trim = function () {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
/**
* 鑾峰彇鍦板潃鏍弖rl鍙傛暟
* @param name
* @return
*/
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURI(r[2]); return null;
//return $("#language").val();
}
/**
* 浠庡弬鑰冩枃鐚紩鐢ㄤ俊鎭腑鎻愬彇鍙傝€冩枃鐚储寮
* 鏀寔鏍煎紡"[1,3,5-8,11,13-18,19]"
* @param refSup
* @return
*/
function getRefSupIndex(refSup) {
if (!isNull(refSup)) {
refSup = refSup.replace(/[\[|\]]/g, '').trim();
var chars = ['~', '鈥?, '鈥?, '锛?, '-', '鈭?, '鈦?];
$.each(chars, function (ind, val) {
var reg = new RegExp(val, "g");
refSup = refSup.replace(reg, '&');
});
var refIndexs = [];
$.each(refSup.split(","), function (i, e) {
if (isNaN(e)) {
var startEnd = e.split("&");
var start = parseInt(startEnd[0]);
var end = parseInt(startEnd[1]);
for (var i = start; i <= end; i++) {
refIndexs.push(i);
}
} else {
refIndexs.push(e);
}
})
//alert(refIndexs);
return refIndexs;
}
return null;
}
/**
* 灏佽鍒ゆ柇瀵硅薄涓虹┖鏂规硶
* @param object
* @return
*/
function isNull(object) {
return typeof (object) == "undefined" || object == null || object == "";
}
/**
* 鑾峰彇闅忔満鏁
* @param Min
* @param Max
* @return
*/
function GetRandomNum(Min, Max) {
var Range = Max - Min;
var Rand = Math.random();
return (Min + Math.round(Rand * Range));
}
/**
* 鑾峰彇缃戦〉椤堕儴鏄剧ず闇€瑕佺殑鏃ユ湡淇℃伅
* @param type 1:涓枃 2鑻辨枃 3鑻辨枃绠€鍐
* 2017-1-11 鏄熸湡涓
* Wednesday, 11 January, 2017
* Jan 20th, Wednesday
* @return
*/
function dateStr(type) {
var date = new Date();
return parseInt(type) == 1 ?
formatDate(date, type) + " " + getTodayWeek(type) :
getTodayWeek(type) + ", " + formatDate(date, type);
}
/**
* 灏嗘棩鏈熸牸寮忓寲鎴愯嫳鏂囨牸寮
* 2017-1-11
* 11 January, 2017
* Jan 11, 2017
* @param date
* */
function formatDate(date, type) {
if (!isNull(date)) {
var dateStr = JSON.stringify(date).substring(1, 11);
var dateVal = dateStr.split("-");
var month = dateVal[1];
if (month.charAt(0) == 0) { month = month.charAt(1); }
var monthArray = new Array
("January", "February", "March", "April", "May", "June", "July", "August",
"September", "October", "November", "December");
var monthArraySimple = new Array
("Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug",
"Sep", "Oct", "Nov", "Dec");
switch (type) {
case 1:
return dateStr;
case 2:
return dateVal[2] + " " + monthArray[month - 1] + ", " + dateVal[0];
case 3:
return monthArraySimple[month - 1] + " " + dateVal[2] + ", " + dateVal[0];
}
}
}
/**
* 鑾峰彇鏄熸湡鍑
* @param type 1:涓枃 2鑻辨枃 3鑻辨枃绠€鍐
* @return
*/
function getTodayWeek(type) {
var chinese = new Array("鏄熸湡鏃?, "鏄熸湡涓€", "鏄熸湡浜?, "鏄熸湡涓?, "鏄熸湡鍥?, "鏄熸湡浜?, "鏄熸湡鍏?);
var english = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var englishSigle = new Array("Sun.", "Mon.", "Tues.", "Wed.", "Thur.", "Fri.", "Sat.");
var week = new Date().getDay();
switch (type) {
case 1:
return chinese[week];
case 2:
return english[week];
case 3:
return englishSigle[week];
}
}
/**
* 鍒嗕韩宸ュ叿鏂规硶
* @param type
* @return
*/
function shareTools(type, obj) {
var url = window.location;
var title = $("head title").text();
var description = $("meta[name='abstract']").attr("content") || $("meta[name='description']").attr("content") || $("meta[name='dc.description']").attr("content") || $("meta[http-equiv='description']").attr("content");
var shareUrl = "";
switch (type) {
case 'qzone':
shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=" + url + "&title=" + title;
break;
case 'sina':
shareUrl = "http://service.weibo.com/share/share.php?title=" + title + "&url=" + url + "&pic=";
break;
case 'weixin':
shareUrl = local_host + "util/QrcodeServlet?url=" + url;
break;
case 'renren':
shareUrl = "http://widget.renren.com/dialog/share?resourceUrl=" + url + "&srcUrl=" + url + "&title=" + title + "&pic=&description=" + description;
break;
case 'google+':
shareUrl = "https://plus.google.com/share?url=" + url + "&t=" + title;
break;
case 'facebook':
shareUrl = "http://www.facebook.com/sharer.php?s=100&p[title]=" + title + "&p[summary]=" + description + "&p[url]=" + url + "&p[images]=";
break;
case 'linkedin':
shareUrl = "http://www.linkedin.com/shareArticle?armin=armin&ro=true&mini=true&url=" + url + "&source=&title=" + title + "&summary=" + description;
break;
case 'twitter':
shareUrl = "https://twitter.com/intent/tweet?text=" + title + "&url=" + url;
break;
default:
shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=" + url + "&title=" + title;
break;
}
if ("weixin" == type) {
$(".weixinQrcode").attr("src", shareUrl);
} else {
window.open(shareUrl, "_blank");
}
}
function closeWeiXinBox(obj) {
$(obj).parent().hide();
}
//杩囨护HTML鏍囩
function filterHTMLTag(str) {
if (!str) {
return str;
} else {
var msg = str.replace(/<\/?[^>]*>/g, ''); //鍘婚櫎HTML Tag
msg = msg.replace(/[|]*\n/, ''); //鍘婚櫎琛屽熬绌烘牸
msg = msg.replace(/ /ig, ''); //鍘绘帀npsp
return msg;
}
}
//鏌ヨ鏉′欢鐩稿叧鏂规硶
function SearchCond(field, operator, value, dataType, relation, paramEntity) {
this.dataType = dataType;
this.paramName = field;
this.operate = operator;
this.paramValue = value;
this.relation = relation;
this.paramEntity = paramEntity;
}
function SearchTools_put(conds, searchCond) {
if (searchCond.paramValue != null && searchCond.paramValue != "") {
conds.push(searchCond);
}
}
function OrderByCond(field, value) {
this.dataType = "";
this.paramName = field;
this.operate = "";
this.paramValue = value;
}
function OrderTools_put(conds, orderByCond) {
if (orderByCond.paramValue != null && orderByCond.paramValue != "") {
conds.push(orderByCond);
}
}
/**
* 鎸夌储寮曡幏鍙栧唴瀹逛腑鐨勬鍒欏尮閰嶇粨鏋
* @param source 鍐呭
* @param regx 姝e垯琛ㄨ揪寮
* @param index 绱㈠紩
* @returns {*|string} 绱㈠紩浣嶇疆鐨勬鍒欏尮閰嶇粨鏋
*/
function getMatcherByIndex(source, regx, index) {
var pattern = new RegExp(regx, 'g');
var list = source.match(pattern);
if (!isNull(list)) {
var result = list[index];
if (!isNull(result)) {
return result;
}
}
return "";
}
function isNull(object) {
return typeof (object) == "undefined" || object == null || object == "";
}
/**
* 澶勭悊鍐呭涓殑xml閾炬帴鏍囩
* @param input 鍐呭
* @returns {*} 澶勭悊缁撴灉
*/
function convertLink(input) {
var output = input;
output = output.replaceAll("");
sourceStr = replaceRegx(sourceStr, "", "<[/]{0,1}multi_start[/]{0,1}>");
sourceStr = sourceStr.trim();
sourceStr = sourceStr.replaceAll("jlmText", "text");
//xdf20220615 鍏煎mml鏍煎紡鍏紡,鍓旈櫎mml:
sourceStr = sourceStr.replaceAll("", "");
var tempStr = sourceStr;
if (sourceStr.indexOf(".*?");
tempStr = replaceRegx(tempStr, "", "");
tempStr = replaceRegx(tempStr, "", "");
tempStr = replaceRegx(tempStr, "", ".*?");
tempStr = replaceRegx(tempStr, "", "");
tempStr = replaceRegx(tempStr, "", "");
tempStr = tempStr.replaceAll("", "")
.replaceAll("\\begin{document}", "").replaceAll("\\end{document}", "")
.replaceAll("\\begin{equation} \\begin{CJK}{GBK}{song}", "")
.replaceAll("\\end{CJK} \\end{equation}", "")
.replaceAll("", "")
.replaceAll("", "")
.replaceAll("", "")
.replaceAll("", "").trim();
if (tempStr.startsWith("") && tempStr.endsWith("
")) {
tempStr = replaceRegx(tempStr, "", "\r\n\t");
tempStr = tempStr.replaceAll("", "").replaceAll("
", "").trim();
if (tempStr.startsWith("$") && !tempStr.startsWith("$$")) {
tempStr = "$" + tempStr + "$";
}
}
//濡傛灉鏄叕寮忓浘鐗囷紝鐩存帴鍥剧墖杈撳嚭
if (sourceStr.indexOf("graphic ") !== -1) {
var result = "";
if (sourceStr.indexOf("
";
} else {
result = tempStr + "
";
}
result = convertLink(result);
return result;
}
} else if (sourceStr.indexOf("[\\s\\S]*?)", "g");
var results = sourceStr.match(pattern);
for (var i = 0; i < results.length; i++) {
currentMath = results[i]
var imgSrc = getMatcherByIndex(currentMath, "xlink:href=\"(.*?)\"", 0);
var textMathStr = getMatcherByIndex(currentMath, "([\\s\\S]*?)", 0);
var textMath = textMathStr;
textMath = replaceRegx(textMath, "", "");
textMath = replaceRegx(textMath, "", ".*?");
textMath = replaceRegx(textMath, "\\$", "\\$((\n)|[ ])*\\$");
textMath = replaceRegx(textMath, "", ".*?");
textMath = replaceRegx(textMath, "", "");
textMath = replaceRegx(textMath, "", "");
textMath = textMath.replaceAll("\\begin{document}", "$")
.replaceAll("\\end{document}", "$")
.replaceAll("\\begin{equation} \\begin{CJK}{GBK}{song}", "$")
.replaceAll("\\end{CJK} \\end{equation}", "$")
.replaceAll("", "");
var mathId = getMatcherByIndex(currentMath, "", 0);
mathId = replaceRegx(mathId, "", "");
if (!isNull(imgSrc)) {//鏈夊浘鐗囨椂灏嗗浘鐗囬殣钘忓悗杈撳嚭
var imgTag = "" + textMath
+ "
";
sourceStr = sourceStr.replaceAll(textMathStr, imgTag);
} else {
sourceStr = sourceStr.replaceAll(currentMath, textMath);
}
}
if (!isNull(sourceStr)) {
tempStr = sourceStr;
tempStr = replaceRegx(tempStr, "", "");
tempStr = tempStr.replaceAll("", "");
tempStr = tempStr.replaceAll("\\begin{equation} \\begin{CJK}{GBK}{song}", "")
.replaceAll("\\end{CJK} \\end{equation}", "");
tempStr = replaceRegx(tempStr, "", "");
tempStr = tempStr.replaceAll("", "");
tempStr = replaceRegx(tempStr, "", "");
tempStr = tempStr.replaceAll("", "");
if (tempStr.indexOf("") != -1) {
tempStr = replaceRegx(tempStr, "", ".*?");
}
tempStr = replaceRegx(tempStr, "", "");
tempStr = tempStr.replaceAll("", "").trim();
}
}
tempStr = convertLink(tempStr);
return tempStr;
}
/**
* 鎷艰鍙傝€冩枃鐚摼鎺
* @param source url鎴杁oi
* @param isIcon 鏄惁灞曠ず涓烘寜閽
* @param type 绫诲瀷:doi,url
* @returns {string} 鎷艰鐨刟閾炬帴html
*/
function getReferLinkHtml(source, isIcon, type) {
var typeClass = 'ref-doi';
if (type == 'url') typeClass = 'ref-url'
var iconClass = '';
var show = source;
if (isIcon && isIcon == "true") {
iconClass = 'icon';
show = '';
}
var href = source;
if (type != 'url') href = 'http://doi.org/' + source;
return ' ' + show + '';
}
/**
* 鑾峰彇鍙傝€冩枃鐚殑杈撳嚭缁撴灉
* @param content 鍙傝€冩枃鐚殑鏂囨湰鍐呭
* @param doi 鍙傝€冩枃鐚殑doi
* @param isIcon 閾炬帴鏄惁瑕佹樉绀轰负鎸夐挳
* @param isUp doi:鏄惁闇€瑕佸ぇ鍐
* @param url 鍙傝€冩枃鐚殑閾炬帴
* @returns {string} 鎷艰鍚庣殑鍙傝€冩枃鐚
*/
function referenceDOIReplace(content, doi, isIcon, isUp, url) {
var doiHtml = "";
if (isNull(doi)) doi = "";
if (isNull(url)) url = "";
if (isContainsByDoi(content)) {//鍒ゆ柇鏄惁鍖呭惈doi:
if (!isNull(doi)) {//浼犲叆doi鏃剁洿鎺ュ皢doi杞负閾炬帴杩涜鏇挎崲
doiHtml = getReferLinkHtml(doi, isIcon, 'doi');
content = content.replaceAll(doi, doiHtml);
} else {//鏈紶鍏oi鏃?浠庡唴瀹逛腑鍒囧嚭doi,鐒跺悗杞负閾炬帴骞惰繘琛屾浛鎹
var re = content.toUpperCase().replaceAll(" ", "");
var inner = re.indexOf("DOI:") + 4;
doi = content.replaceAll(" ", "").substring(inner);
if (doi.endsWith(".")) {
doi = doi.substring(0, doi.length - 1);
}
doiHtml = getReferLinkHtml(doi, isIcon, 'doi');
content = content.replaceAll(doi, doiHtml);
}
} else {//涓嶅寘鍚玠oi:鏃
if (content.includes("doi.org") && content.includes(doi) && !isNull(doi)) {//doi鐨勯摼鎺ユ槸甯︽湁doi.org鐨勫畬鏁撮摼鎺ユ椂,鏁存潯閾炬帴杞琣鏍囩
var doiurl = content.substring(content.indexOf("http"), content.indexOf(doi));
doiHtml = " " + doiurl + doi + "";
content = content.replaceAll(doiurl + doi, doiHtml);
} else if (!isNull(doi)) {//doi鐨勯摼鎺ヤ笉鏄甫doi.org鐨勫畬鏁撮摼鎺ユ椂,涓旀湁浼犲叆doi,灏?doi:'+doi閾炬帴鎷艰鍒板唴瀹瑰熬閮
doiHtml = getReferLinkHtml(doi, isIcon, 'doi');
if ("U" == isUp) {
content = content + "" + " doi: ".toUpperCase() + doiHtml + "";
} else {
content = content + "" + " doi: ".toLowerCase() + doiHtml + "";
}
} else if (!isNull(url)) {//娌℃湁doi:,娌℃湁doi.org,娌℃湁浼犲叆doi鐨勬儏鍐?涓€鑸笉鏄痙oi鑰屾槸鍏朵粬閾炬帴,闇€瑕佸垽鏂槸鍚︿紶鍏rl
if (url.lastIndexOf("/10.") != -1) {//鏈変紶鍏rl鏃?鐪嬬湅url鏄笉鏄寘鍚玠oi,濡傛灉鏄?鍒欏皢doi鍒囧嚭,杞负閾炬帴鍚庢嫾瑁呰嚦鍐呭灏鹃儴
doi = url.substring(url.lastIndexOf("/10.") + 1, url.length);
doiHtml = getReferLinkHtml(doi, isIcon, 'doi');
if ("U" == isUp) {
content = content + "" + " doi: ".toUpperCase() + doiHtml + "";
} else {
content = content + "" + " doi: ".toLowerCase() + doiHtml + "";
}
} else {//濡傛灉url涓嶅寘鍚玠oi,鎸夋櫘閫氶摼鎺ュ鐞
doiHtml = getReferLinkHtml(url, isIcon, 'url');
content = content + doiHtml;
}
} else if (content.includes("http")) {//娌℃湁doi:,娌℃湁doi.org,娌℃湁浼犲叆doi鍜寀rl鐨勬儏鍐?浣嗘槸鍐呭涓寘鍚摼鎺
try {
var isConvertHttpUrl = allData.dic.referenceHttpUrl;
if ("1" == isConvertHttpUrl) {//浠呭綋鍚庡彴閰嶇疆=1鏃舵墠瀵瑰唴閮ㄩ摼鎺ヨ繘琛屽鐞
//浣跨敤姝e垯鍖归厤鍐呭涓殑閾炬帴骞堕€愭潯杞负html鍚庢浛鎹
var pattern = new RegExp("^(http://|ftp://|https://|www){0,1}[^\u4e00-\u9fa5\\s]*?\\.(com|net|cn|me|tw|fr)[^\u4e00-\u9fa5\\s]*", "g");
var results = content.match(pattern);
for (var i = 0; i < results.length; i++) {
var httpUrl = results[i];
if (!isNull(httpUrl) && httpUrl.endsWith(".")) {
httpUrl = httpUrl.substring(0, httpUrl.length() - 1);
}
doiHtml = getReferLinkHtml(httpUrl, isIcon, 'url');
content = content.replaceAll(httpUrl, doiHtml);
}
}
} catch (e) {
console.log("doi閾炬帴澶勭悊鏈厤缃?!!")
}
}
}
return content;
}
/**
* 鍗婅杞叏瑙
*
* @param input 杈撳叆瀛楃涓插弬鏁
* @return string 鍏ㄨ瀛楃涓
*/
function convert2DoubleByte(input) {
var result = []
for (var i = 0; i < input.length; i++) {
var str = input[i];
var charStr = input.charCodeAt(i);
if (str == ' ') result.push('\u3000');
else if (charStr < 177) {
charStr = charStr + 65248;
result.push(String.fromCharCode(charStr));
}
}
return result.join('');
}
/**
* 鍏ㄨ杞崐瑙
*
* @param input 杈撳叆瀛楃涓插弬鏁
* @return string 鍗婅瀛楃涓
*/
function convertSingleByte(input) {
var result = []
for (var i = 0; i < input.length; i++) {
var str = input[i];
var charStr = input.charCodeAt(i);
if (str == '\u3000') result.push(' ');
else if (str > '\uFF00' && str < '\uFF5F') {
charStr = charStr - 65248;
result.push(String.fromCharCode(charStr));
}
}
return result.join('');
}
/**
* 鍒ゆ柇鏄惁涓洪檮鍥 闄勮〃
* @param tagId 鍥捐〃鐨則agId
* @returns {boolean}
*/
function isNotSupplementary(tagId) {
if (isNull(tagId)) return false;
var pattern = new RegExp("^Table[^A-Za-z]+$");
var pattern1 = new RegExp("^Figure[^A-Za-z]+$");
var matcher = tagId.match(pattern);
var matcher1 = tagId.match(pattern1);
return !isNull(matcher) || !isNull(matcher1);
}
/**
* 鏇挎崲鐗规畩瀛楃
*/
function replaceXmlSpecialChar(sourceStr) {
if (isNull(sourceStr)) return "";
return sourceStr.replaceAll("漏", "©")
.replaceAll("*", "*")
.replaceAll("鈥?, "—")
.replaceAll(">", ">")
.replaceAll("<", "<");
}
/**
* 鐗规畩瀛楃杈撳嚭杞崲
* @param input
* @returns {*|string}
*/
function convertInut(input) {
//(<)(&)(>)(")(')
//<锛?amp; >" ' (')
if (isNull(input)) return "";
input = input.replaceAll("&", "&")
.replaceAll("<", "<")
.replaceAll(">", ">")
.replaceAll("\"", """)
.replaceAll("'", "'");
return input;
}
/**
* 澶勭悊鎽樿鍐呭
*
* @param str 鎽樿
* @param language 璇█
* @return string 澶勭悊缁撴灉
*/
function convertAbstractHtml(str, language) {
if (isNull(str)) return "";
var secReplace = "";
var titleReplace = "";
str = str.replaceAll("", "").replaceAll("", "")
.replaceAll("", "").replaceAll("", "")
.replaceAll("", "").replaceAll("", "") //涓嬪垝绾
.replaceAll("", "").replaceAll("", "") //涓婂垝绾
.replaceAll("", "").replaceAll("", "")//涓垝绾裤€佸垹闄ょ嚎
.replaceAll("", "").replaceAll("
", "")//p鏍囩
.replaceAll("", ""); //绌簍itle
try {
if ("en" == language) {
secReplace = allData.dic.abstractSecReplaceEn;
titleReplace = allData.dic.abstractTitleReplaceEn;
} else {
secReplace = allData.dic.abstractSecReplaceCn;
titleReplace = allData.dic.abstractTitleReplaceCn;
}
} catch (e) {
console.log("鏂规硶convertAbstractHtml閿欒!鎽樿涓璼ec,title鏇挎崲鏍囩鏈厤缃?!!")
}
if (isNull(secReplace)) {//榛樿鏇挎崲涓篸iv
str = str.replaceAll("", "").replaceAll("", "
");
} else {
var secReplaceArr = secReplace.split("\\$\\$\\$");
var secReplace1 = secReplaceArr[0];
var secReplace2 = secReplaceArr[1];
str = str.replaceAll("", secReplace1).replaceAll("", secReplace2);
}
if (isNull(titleReplace)) {//榛樿鏇挎崲涓篵
str = str.replaceAll("taptap点点(有限公司)官方网站-2026 World Cup", titleReplace2);
}
return convertMathHtml(str);
}
/**
* 鑾峰彇鏂囩珷绫诲瀷杞崲鍚庣殑杈撳嚭
*/
function getArticleTypeOutput(input, language) {
if (isNull(input)) {
try {
//鑾峰彇閰嶇疆
var settingVal = allData.dic.articleTypeTrans;
//閰嶇疆鏍煎紡涓 鏂囩珷绫诲瀷(鍌ㄥ瓨):鏂囩珷绫诲瀷(涓枃杈撳嚭),鏂囩珷绫诲瀷(鑻辨枃杈撳嚭);
if (!isNull(settingVal)) {
var convertMap = new Map();
//瑙f瀽閰嶇疆鏂囦欢
var types = settingVal.split(";");
for (var type in types) {
if (!isNull(type)) {
var typeToTrans = type.split(":");
var cnToEn = typeToTrans[1].split(",");
if ("en" == language) {
convertMap.put(typeToTrans[0], cnToEn[1]);
} else {
convertMap.put(typeToTrans[0], cnToEn[0]);
}
}
}
//鑾峰彇鏂囩珷绫诲瀷鎵€瀵瑰簲鐨勮緭鍑
return convertMap.get(input);
}
} catch (e) {
console.log("鏂规硶getArticleTypeOutput閿欒!瀛楀吀涓璦rticleTypeTrans鏈厤缃?!!")
}
}
return "";
}
/**
* 鑾峰彇鍙傝€冩枃鐚牸寮 1椤哄簭缂栫爜鍒 2浣滆€呭嚭鐗堝勾鍒
*/
function getReferenceType(refLable) {
return !isNull(refLable) && (/b[0-9]{1,3}/.test(refLable) || /[0-9]{1,3}/.test(refLable)) ? 1 : 2;
}
/**
* 鍒犻櫎Html鏍囩
* @return string
*/
function delHTMLTag(htmlStr) {
if (isNull(htmlStr)) return "";
var regEx_script = "