Add the "run code" function to zblog, which is a new function for z-bog to modify the z-blog source code. This method has been used for a long time. It is not too late for me to add it now, because some time-related code may be pasted in the future, so I use this "run code" function, is the most convenient.
Refer to "z-blog forum" for details ". To call this function, add "[code] your code [/code]" to the article editing area, as this is a demo, therefore, a space is left between the brackets and the code. When you use them, remove the space.
This call method is only known after Visc is consulted. Sometimes it is far from success. Thanks to Visc for your advice.
1. Add script/common. js
//************************************** *******************
// Purpose: to run the code
// Input: obj
// Return:
//************************************** *******************
Function copycode (obj ){
Var rng = document. body. createTextRange ();
Var obj1 = document. getElementById (obj)
Rng. moveToElementText (obj1 );
Rng. scrollIntoView ();
Rng. select ();
Rng.exe cCommand ("Copy ");
Rng. collapse (false );
}
Function runCode (obj ){
Var winname = window. open (''," _ blank ",'');
Var obj1 = document. getElementById (obj)
Winname.doc ument. open ('text/html ', 'replace ');
Winname. opener = null // prevents malicious modification
Winname.doc ument. writeln (obj1.value );
Winname.doc ument. close ();
}
Function saveCode (obj ){
Var winname = window. open ('', '_ blank', 'Top = 10000 ');
Var obj1 = document. getElementById (obj)
Winname.doc ument. open ('text/html ', 'replace ');
Winname.doc ument. writeln (obj1.value );
Winname.document.execcommand('saveas', '', 'code.htm ');
Winname. close ();
}
2. func/c_function.asp, find Function TransferHTML (source, para),
If Instr (para, "[space]")> 0 Then source = Replace (source ,"","")
Comment out.
Find
ObjRegExp. Pattern = "(\ [CODE \]) (. + ?) (\ [\/CODE \])"
StrContent = objRegExp. replace (strContent, "<textarea class =" "code" "name =" "runcode0" "rows =" "10" "cols =" 50 ""> $2 </textarea> ")
Change
Dim codeNum, rndStr
CodeNum = 0
Randomize
RndStr = int (rnd* 100)
StrContent = objRegExp. replace (strContent, "<textarea class =" "code" "name =" "code" & rndStr & codeNum & "" id = "" code "& rndStr & codeNum &" "rows = "" 10 "" cols = "50" "> $2 </textarea> <br/> <input type =" "button" "value =" "run code "" onclick = "" runCode ('code "& rndStr & codeNum &"') ""> <input type = "" button "" value = "" Copy code "" onclick = "" copycode ('code "& rndStr & codeNum &"') ""> <input type = "" button "" value = "" save code "" onclick = "" saveCode ('code "& rndStr & codeNum &"') ""> Tip: you can modify some code before running ")
CodeNum = codeNum + 1
This rndStr can be replaced by the article id. However, duplicate code box IDs may be generated. To be safe, we still use random functions.
3. Recreate all pages.
4. Finally, try the effect, because in the "visual editing" status, the editor does not know what to do for the code, and thus cannot run. Therefore, we recommend some complicated code, use "UBB edit" for insurance.
Javascript can get the first letter of Chinese Pinyin
<Script language = javascript> var spell = {0xB0A1: "a", 0xB0A3: "ai", 0xB0B0: "an", 0xB0B9: "ang", 0xB0BC: "ao ", 0xB0C5: "ba", 0xB0D7: "bai", 0xB0DF: "ban", 0xB0EE: "bang", 0xB0FA: "bao", 0xB1AD: "bei", 0xB1BC: "ben", 0xB1C0: "beng", 0xB1C6: "bi", 0xB1DE: "bian", 0xB1EA: "biao", 0xB1EE: "bie", 0xB1F2: "bin ", 0xB1F8: "bing", 0xB2A3: "bo", 0xB2B8: "bu", 0xB2C1: "ca", 0xB2C2: "cai", 0xB2CD: "can", 0xB2D4: "cang", 0xB2D9: "cao ", 0xB2DE: "ce", 0xB2E3: "ceng", 0xB2E5: "cha", 0xB2F0: "chai", 0xB2F3: "chan", 0xB2FD: "chang", 0xB3AC: "chao", 0xB3B5: "che", 0xB3BB: "chen", 0xB3C5: "cheng", 0xB3D4: "chi", 0xB3E4: "chong", 0xB3E9: "chou ", 0xB3F5: "chu", 0xB4A7: "chuai", 0xB4A8: "chuan", 0xB4AF: "chuang", 0xB4B5: "chui", 0xB4BA: "chun", 0xB4C1: "chuo", 0xB4C3: "ci", 0xB4CF: "cong", 0xB4D5: "cou", 0xB4D6: "cu", 0xB4DA: "cuan", 0xB4DD: "cui ", 0xB4E5: "cun ", 0xB4E8: "cuo", 0xB4EE: "da", 0xB4F4: "dai", 0xB5A2: "dan", 0xB5B1: "dang", 0xB5B6: "dao", 0xB5C2: "de", 0xB5C5: "deng", 0xB5CC: "di", 0xB5DF: "dian", 0xB5EF: "diao", 0xB5F8: "die", 0xB6A1: "ding ", 0xB6AA: "diu", 0xB6AB: "dong", 0xB6B5: "dou", 0xB6BC: "du", 0xB6CB: "duan", 0xB6D1: "dui", 0xB6D5: "dun", 0xB6DE: "duo", 0xB6EA: "e", 0xB6F7: "en", 0xB6F8: "er", 0xB7A2: "fa", 0xB7AA: "fan ", 0xB7BB: "fang", 0xB7C6: "fei", 0xB7D2: "f En ", 0xB7E1:" feng ", 0xB7F0:" fo ", 0xB7F1:" fou ", 0xB7F2:" fu ", 0xB8C1:" ga ", 0xB8C3:" gai ", 0xB8C9: "gan", 0xB8D4: "gang", 0xB8DD: "gao", 0xB8E7: "ge", 0xB8F8: "gei", 0xB8F9: "gen", 0xB8FB: "geng", 0xB9A4: "gong", 0xB9B3: "gou", 0xB9BC: "gu", 0xB9CE: "gua", 0xB9D4: "guai", 0xB9D7: "guan ", 0xB9E2: "guang", 0xB9E5: "gui", 0xB9F5: "gun", 0xB9F8: "guo", 0xB9FE: "ha", 0xBAA1: "hai", 0xBAA8: "han", 0 xBABB: "hang", 0 xBABE: "hao ", 0xBAC7: "he", 0xBAD9: "hei", 0 xBADB: "Yellow", 0 xBADF: "heng", 0xBAE4: "hong", 0 xBAED: "hou ", 0xBAF4: "hu", 0xBBA8: "hua", 0xBBB1: "huai", 0xBBB6: "huan", 0xBBC4: "huang", 0xBBD2: "hui", 0xBBE7: "hun", 0 xBBED: "huo", 0xBBF7: "ji", 0 xBCCE: "jia", 0 xBCDF: "jian", 0xBDA9: "jiang", 0xBDB6: "jiao", 0xBDD2: "jie", 0 xBDED: "jin", 0xBEA3: "jing", 0 xBEBC: "jiong", 0 xBEBE: "jiu", 0 xBECF: "ju", 0xBEE8: "juan", 0 xBEEF: "jue", 0xBEF9: "jun" , 0xBFA6: "ka", 0 xBFAA: "kai", 0 xBFAF: "kan", 0xBFB5: "kang", 0 xBFBC: "kao", 0xBFC0: "ke ", 0 xBFCF: "ken", 0xBFD3: "keng", 0xBFD5: "kong", 0xBFD9: "kou", 0 xBFDD: "ku", 0xBFE4: "kua", 0xBFE9: "kuai", 0 xBFED: "kuan", 0 xBFEF: "kuang", 0xBFF7: "kui", 0xC0A4: "kun", 0xC0A8: "kuo", 0xC0AC: "la", 0xC0B3: "lai", 0xC0B6: "lan", 0xC0C5: "lang", 0xC0CC: "lao", 0xC0D5: "le", 0xC0D7: "lei ", 0xC0E2: "leng", 0xC0E5: "li", 0xC1A9: "lia", 0xC 1AA: "lian", 0xC1B8: "liang", 0xC1C3: "liao", 0xC1D0: "lie", 0xC1D5: "lin", 0xC1E1: "ling", 0xC1EF: "liu", 0xC1FA: "long", 0xC2A5: "lou", 0xC2AB: "lu", 0xC2BF: "lv", 0xC2CD: "luan", 0xC2D3: "lue ", 0xC2D5: "lun", 0xC2DC: "luo", 0xC2E8: "ma", 0xC2F1: "mai", 0xC2F7: "man", 0xC3A2: "mang", 0xC3A8: "mao", 0xC3B4: "me", 0xC3B5: "mei", 0xC3C5: "men", 0xC3C8: "meng", 0xC3D0: "mi", 0xC3DE: "mian ", 0xC3E7: "miao", 0xC3EF: "mie", 0xC3F 1: "min", 0xC3F7: "ming", 0xC3FD: "miu", 0xC3FE: "mo", 0xC4B1: "mou", 0xC4B4: "mu", 0xC4C3: "na", 0xC4CA: "nai", 0xC4CF: "nan", 0xC4D2: "nang", 0xC4D3: "nao", 0xC4D8: "ne", 0xC4D9: "nei ", 0xC4DB: "nen", 0xC4DC: "neng", 0xC4DD: "ni", 0xC4E8: "nian", 0xC4EF: "niang", 0xC4F1: "niao", 0xC4F3: "nie", 0xC4FA: "nin", 0xC4FB: "ning", 0xC5A3: "niu", 0xC5A7: "nong", 0xC5AB: "nu", 0xC5AE: "nv ", 0xC5AF: "nuan", 0xC5B0: "nue", 0xC5B2: "nu O ", 0xC5B6:" o ", 0xC5B7:" ou ", 0xC5BE:" pa ", 0xC5C4:" pai ", 0xC5CA:" pan ", 0xC5D2:" pang ", 0xC5D7: "pao", 0xC5DE: "pei", 0xC5E7: "pen", 0xC5E9: "peng", 0xC5F7: "pi", 0xC6AA: "pian", 0xC6AE: "piao", 0xC6B2: "pie", 0xC6B4: "pin", 0xC6B9: "ping", 0xC6C2: "po", 0xC6CB: "pu", 0xC6DA: "qi ", 0xC6FE: "qia", 0xC7A3: "qian", 0xC7B9: "qiang", 0xC7C1: "qiao", 0xC7D0: "qie", 0xC7D5: "qin", 0xC7E0: "qing", 0xC7ED: "qiong", 0xC7EF: "qiu ", 0xC7F7: "qu", 0xC8A6: "quan", 0xC8B1: "que", 0xC8B9: "qun", 0xC8BB: "ran", 0xC8BF: "rang", 0xC8C4: "rao", 0xC8C7: "re", 0xC8C9: "ren", 0xC8D3: "reng", 0xC8D5: "ri", 0xC8D6: "rong", 0xC8E0: "rou ", 0xC8E3: "ru", 0xC8ED: "ruan", 0xC8EF: "rui", 0xC8F2: "run", 0xC8F4: "ruo", 0xC8F6: "sa", 0xC8F9: "sai", 0xC8FD: "san", 0xC9A3: "sang", 0xC9A6: "sao", 0xC9AA: "se", 0xC9AD: "sen", 0xC9AE: "seng ", 0xC9AF: "sha", 0xC9B8: "shai", 0xC9BA : "Shan", 0xC9CA: "shang", 0xC9D2: "shao", 0xC9DD: "she", 0xC9E9: "shen", 0xC9F9: "sheng", 0xCAA6: "shi", 0xCAD5: "shou", 0 xCADF: "shu", 0xCBA2: "shua", 0xCBA4: "shuai", 0xCBA8: "shuan", 0 xCBAA: "shuang", 0 xCBAD: "shui", 0xCBB1: "shun", 0xCBB5: "shuo", 0xCBB9: "si", 0xCBC9: "song", 0xCBD1: "sou", 0xCBD4: "su", 0xCBE1: "suan", 0xCBE4: "sui", 0 xCBEF: "sun", 0xCBF2: "suo", 0 xCBFA: "ta", 0xCCA5: "tai", 0 xCCAE: "tan", 0xCCC0: "ta Ng ", 0 xCCCD:" tao ", 0xCCD8:" te ", 0xCCD9:" teng ", 0 xCCDD:" ti ", 0 xCCEC:" tian ", 0xCCF4: "tiao", 0xCCF9: "tie", 0 xCCFC: "ting", 0xCDA8: "tong", 0xCDB5: "tou", 0xCDB9: "tu", 0xCDC4: "tuan", 0xCDC6: "tui", 0 xCDCC: "tun", 0 xCDCF: "tuo", 0 xCDDA: "wa", 0xCDE1: "wai", 0xCDE3: "wan", 0xCDF4: "wang", 0 xCDFE: "wei", 0xCEC1: "wen", 0 xCECB: "weng", 0 xCECE: "wo", 0xCED7: "wu", 0xCEF4: "xi", 0xCFB9: "xia", 0xCFC6: "xian", 0xCFE0: "xiang ", 0xCFF4: "xiao", 0xD0A8: "xie", 0xD0BD: "xin", 0xD0C7: "xing", 0xD0D6: "xiong", 0xD0DD: "xiu", 0xD0E6: "xu", 0xD0F9: "xuan", 0xD1A5: "xue", 0xD1AB: "xun", 0xD1B9: "ya", 0xD1C9: "yan", 0xD1EA: "yang ", 0xD1FB: "yao", 0xD2AC: "ye", 0xD2BB: "yi", 0xD2F0: "yin", 0xD3A2: "ying", 0xD3B4: "yo", 0xD3B5: "yong", 0xD3C4: "you", 0xD3D9: "yu", 0xD4A7: "yuan", 0xD4BB: "yue", 0xD4C5: "yun", 0xD4D1: "za ", 0xD4D4: "zai", 0xD4DB: "zan", 0xD4D F: "zang", 0xD4E2: "zao", 0xD4F0: "ze", 0xD4F4: "zei", 0xD4F5: "zen", 0xD4F6: "zeng", 0xD4FA: "zha", 0xD5AA: "zhai", 0xD5B0: "zhan", 0xD5C1: "zhang", 0xD5D0: "zhao", 0xD5DA: "zhe", 0xD5E4: "zhen ", 0xD5F4: "zheng", 0xD6A5: "zhi", 0xD6D0: "zhong", 0xD6DB: "zhou", 0xD6E9: "zhu", 0xD7A5: "zhua", 0xD7A7: "zhuai", 0xD7A8: "zhuan", 0xD7AE: "zhuang", 0xD7B5: "zhui", 0xD7BB: "zhun", 0xD7BD: "zhuo", 0xD7C8: "zi ", 0xD7D7: "zong", 0xD7 DE: "zou", 0xD7E2: "zu", 0xD7EA: "zuan", 0xD7EC: "zui", 0xD7F0: "zun", 0xD7F2: "zuo"} var spellArray = new Array () var pn = ""/* for (var I = 0xB0A1; I <0xD7FC; I ++) {if (spell [I]) pn = spell [I] execScript ("char = chr (\" "+ I +" \ ")", "vbscript ") spellArray [char. charCodeAt (0)] = pn} */function pinyin (char) {if (! Char. charCodeAt (0) | char. charCodeAt (0) <1328) return "" if (spellArray [char. charCodeAt (0)]) return spellArray [char. charCodeAt (0)] execScript ("ascCode = hex (asc (\" "+ char +" \ ")", "vbscript ") ascCode = eval ("0x" + ascCode) if (! (AscCode> 0xB0A0 & ascCode <0xD7FC) return "" for (var I = ascCode ;(! Spell [I] & I> 0);) I -- return spell [I]} function toPinyin (str) {var pStr = "" for (var I = 0; I <str. length; I ++) {if (str. charAt (I) = "\ n") pStr + = "<br>" else pStr + = "<ruby style = 'Ruby-align: Center'>" + str. charAt (I) + "<rt>" + pinyin (str. charAt (I) + "</rt> </ruby>" // else pStr + = pinyin (str. charAt (I) + ""} return pStr} function toPinyinOnly (str) {var pStr = "" for (var I = 0; I <str. length; I + +) {If (str. charAt (I) = "\ n") pStr + = "<br>" else pStr + = "" + pinyin (str. charAt (I )). substring (0, 1); // else pStr + = pinyin (str. charAt (I) + ""} return pStr} function pinyinSort (a, B) {var rValue = 0 for (var I = 0; I <. length; I ++) {var pinA = pinyin (. charAt (I) var pinB = pinyin (B. charAt (I) if (rValue = pinA> pinB? 1: pinA <pinB? -1: 0) break} return rValue} </script> <textarea id = "kevin" rows = "10" cols = "100"> I want to convert it to pinyin </textarea> <br/> <button onclick = "test. innerHTML = toPinyin (kevin. innerText) "> conversion </button> <button onclick =" test. innerHTML = toPinyinOnly (kevin. innerText) "> only the first letter </button> <button onclick =" test. innerHTML = kevin. innerText. split (''). sort (pinyinSort ). join ('')"> sort </button> </p> <div id = "test" style = "FONT-SIZE: 32px "> </div> <p> </p>