{"id":332,"date":"2009-04-19T18:33:00","date_gmt":"2009-04-19T10:33:00","guid":{"rendered":""},"modified":"2013-11-27T21:05:39","modified_gmt":"2013-11-27T13:05:39","slug":"%e7%a8%8b%e5%ba%8f%e4%bb%a3%e7%a0%81%e7%9d%80%e8%89%b2%e8%84%9a%e6%9c%ac","status":"publish","type":"post","link":"https:\/\/kyle.ai\/blog\/332.html","title":{"rendered":"\u7a0b\u5e8f\u4ee3\u7801\u7740\u8272\u811a\u672c"},"content":{"rendered":"<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nvar DelphiKeywords =\r\n\u2018absolute|abstract|and|array|as|asm|assembler|at|automated|\u2019 +\r\n\u2018begin|case|cdecl|class|const|constructor|contains|\u2019 +\r\n\u2018default|destructor|dispid|dispinterface|div|do|downto|dynamic|\u2019 +\r\n\u2018else|end|except|export|exports|external|\u2019 +\r\n\u2018far|file|final|finalization|finally|for|forward|function|\u2019 +\r\n\u2018goto|if|implementation|implements|in|index|inherited|initialization|inline|interface|is|\u2019 +\r\n\u2018label|library|message|mod|near|nil|nodefault|not|\u2019 +\r\n\u2018object|of|on|operator|or|out|overload|override|\u2019 +\r\n\u2018package|packed|pascal|private|procedure|program|property|protected|public|published|\u2019 +\r\n\u2018raise|read|readonly|record|reference|register|reintroduce|repeat|requires|resident|resourcestring|\u2019 +\r\n\u2018safecall|sealed|set|shl|shr|static|stdcall|stored|strict|string|\u2019 +\r\n\u2018then|threadvar|to|try|type|unit|until|uses|var|varirnt|virtual|\u2019 +\r\n\u2018while|with|write|writeonly|xor\u2019;\r\n\r\nvar CppKeywords =\r\n\u2018__declspec|__exception|__fastcall|__finally|__published|__try|\u2019 +\r\n\u2018break|case|catch|char|class|const|const_cast|continue|\u2019 +\r\n\u2018default|delete|deprecated|dllexport|dllimport|do|double|dynamic_cast|\u2019 +\r\n\u2018else|enum|explicit|extern|false|float|for|friend|goto|if|inline|int|long|\u2019 +\r\n\u2018mutable|naked|namespace|new|noinline|noreturn|nothrow|\u2019 +\r\n\u2018private|protected|public|register|reinterpret_cast|return|\u2019 +\r\n\u2018selectany|short|sizeof|static|static_cast|struct|switch|\u2019 +\r\n\u2018template|this|thread|throw|true|try|typedef|typeid|typename|\u2019 +\r\n\u2018union|unsigned|using|uuid|virtual|void|volatile|whcar_t|while\u2019;\r\n\r\nvar CsKeywords =\r\n\u2018abstract|as|base|bool|break|byte|case|catch|char|checked|class|const|continue|\u2019 +\r\n\u2018decimal|default|delegate|do|double|else|enum|event|explicit|extern|\u2019 +\r\n\u2018false|finally|fixed|float|for|foreach|from|get|goto|group|\u2019 +\r\n\u2018if|implicit|in|int|interface|internal|into|is|join|let|lock|long|\u2019 +\r\n\u2018namespace|new|null|object|operator|orderby|out|override|\u2019 +\r\n\u2018params|partial|private|protected|public|readonly|ref|return|\u2019 +\r\n\u2018sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|\u2019 +\r\n\u2018this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|\u2019 +\r\n\u2018value|var|virtual|void|volatile|where|while|yield\u2019;\r\n\r\nvar CsClass =\r\n\u2018Serializable|Console|Convert|Object|DllImport\u2019; \/\/\u968f\u65f6\u8865\u5145\r\n\r\nvar JsKeywords =\r\n\u2018break|false|in|this|void|continue|for|new|true|while|delete|function|null|\u2019 +\r\n\u2018typeof|with|else|if|return|var|case|debugger|export|super|catch|default|\u2019 +\r\n\u2018extends|switch|class|do|finally|throw|const|enum|import|try\u2019;\r\n\r\n\/\/window.onload = function() {\r\nvar pres = document.getElementsByTagName(&quot;PRE&quot;);\r\nfor (var i=0; i&lt; pres.length; i++) {\r\n    \/\/Delphi\r\n    if (pres&#x5B;i].className == &quot;Delphi&quot;) {\r\n      str = pres&#x5B;i].innerHTML;\r\n\r\n      r1 = &quot;(\\\\(\\\\*&#x5B;\\\\s\\\\S]*?\\\\*\\\\))&quot;;           \/\/ (* *)\r\n      r2 = &quot;((?:http:)?\/\/.*)&quot;;                   \/\/ &quot;\/\/&quot; and not &quot;http:\/\/&quot;\r\n      r3 = &quot;({(?!\\\\$)&#x5B;\\\\s\\\\S]*?})&quot;;              \/\/ { }\r\n      r4 = &quot;(\\\\{\\\\${1}&#x5B;a-zA-Z]+.+\\\\})&quot;;          \/\/ {$ }\r\n      r5 = &quot;(\u2018.*?\u2019)&quot;;                            \/\/ \u2018 \u2018\r\n      r6 = &quot;(&#x5B;\\\\$\\\\#]{1,2}&#x5B;a-fA-F0-9]+)\\\\b&quot;;     \/\/ $Hex or #Number\r\n      r7 = &quot;\\\\b(\\\\d+\\\\.?\\\\d*)\\\\b&quot;;               \/\/ Number\r\n      r8 = &quot;\\\\b(&quot; + DelphiKeywords + &quot;)\\\\b&quot;;     \/\/ Key\r\n\r\n      rs = r1 + \u2018|\u2019 + r2 + \u2018|\u2019 + r3 + &quot;|&quot; + r4 + &quot;|&quot; + r5 + &quot;|&quot; + r6 + &quot;|&quot; + r7 + &quot;|&quot; + r8;\r\n      rr = \u2018&lt;font color=#008000&gt;$1$2$3&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#008284&gt;$4&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#0000FF&gt;$5$6$7&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#000080&gt;&lt;b&gt;$8&lt;\/b&gt;&lt;\/font&gt;\u2019;\r\n      re = new RegExp(rs,&quot;g&quot;);\r\n      str = str.replace(re, rr);\r\n      pres&#x5B;i].innerHTML = &quot;&lt;pre&gt;&quot; + str + &quot;&lt;\/pre&gt;&quot;;\r\n    }\r\n    \/\/End Delphi\r\n\r\n    \/\/C\/C++\r\n    if (pres&#x5B;i].className == &quot;cpp&quot;) {\r\n      str = pres&#x5B;i].innerHTML;\r\n      r = new RegExp(\u2018&lt;(?!hr).+( |&gt;)\u2019,'gi\u2019);\r\n      var arr = str.match(r);\r\n\r\n      if(arr != null) for(var n=0; n&lt;arr.length; n++) {\r\n          an = arr&#x5B;n]; an = arr&#x5B;n].replace(\u2018&lt;\u2019,'&amp;lt;\u2019); an = an.toLowerCase();\r\n          str = str.replace(arr&#x5B;n], an);\r\n        }\r\n\r\n      r1 = &quot;((?:http:)?\/\/.*)&quot;;\r\n      r2 = &quot;(\/\\\\*&#x5B;\\\\s\\\\S]*?\\\\*\/)&quot;;\r\n      r3 = \u2018(&quot;.*?&quot;)\u2019;\r\n      r4 = &quot;(\u2018.*?\u2019)&quot;;\r\n      r5 = &quot;(#.*)&quot;;\r\n      r6 = &quot;\\\\b(&quot; + CppKeywords + &quot;)\\\\b&quot;;\r\n\r\n      rs = r1 + \u2018|\u2019 + r2 + \u2018|\u2019 + r3 + \u2018|\u2019 + r4 + \u2018|\u2019 + r5 + \u2018|\u2019 + r6;\r\n      rr = \u2018&lt;font color=#008000&gt;$1$2&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#0000FF&gt;$3&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#800080&gt;$4&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#008284&gt;$5&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#000080&gt;&lt;b&gt;$6&lt;\/b&gt;&lt;\/font&gt;\u2019;\r\n      re = new RegExp(rs,&quot;g&quot;);\r\n      str = str.replace(re, rr);\r\n      pres&#x5B;i].innerHTML = &quot;&lt;pre&gt;&quot; + str + &quot;&lt;\/pre&gt;&quot;;\r\n    }\r\n    \/\/End C\/C++\r\n\r\n    \/\/JavaScript\r\n    if (pres&#x5B;i].className == &quot;js&quot;) {\r\n      str = pres&#x5B;i].innerHTML;\r\n      r = new RegExp(\u2018&lt;(?!hr).+( |&gt;)\u2019,'gi\u2019);\r\n      var arr = str.match(r);\r\n\r\n      if(arr != null) for(var n=0; n&lt;arr.length; n++) {\r\n          an = arr&#x5B;n]; an = arr&#x5B;n].replace(\u2018&lt;\u2019,'&amp;lt;\u2019); an = an.toLowerCase();\r\n          str = str.replace(arr&#x5B;n], an);\r\n        }\r\n\r\n      r1 = &quot;((?:http:)?\/\/.*)&quot;;\r\n      r2 = &quot;(\/\\\\*&#x5B;\\\\s\\\\S]*?\\\\*\/)&quot;;\r\n      r3 = \u2018(&quot;.*?&quot;)\u2019;\r\n      r4 = &quot;(\u2018.*?\u2019)&quot;;\r\n      r5 = &quot;(#.*)&quot;;\r\n      r6 = &quot;\\\\b(&quot; + JsKeywords + &quot;)\\\\b&quot;;\r\n\r\n      rs = r1 + \u2018|\u2019 + r2 + \u2018|\u2019 + r3 + \u2018|\u2019 + r4 + \u2018|\u2019 + r5 + \u2018|\u2019 + r6;\r\n      rr = \u2018&lt;font color=#008000&gt;$1$2&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#CC0066&gt;$3&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#CC0066&gt;$4&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#008284&gt;$5&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#000080&gt;&lt;b&gt;$6&lt;\/b&gt;&lt;\/font&gt;\u2019;\r\n      re = new RegExp(rs,&quot;g&quot;);\r\n      str = str.replace(re, rr);\r\n      pres&#x5B;i].innerHTML = &quot;&lt;pre&gt;&quot; + str + &quot;&lt;\/pre&gt;&quot;;\r\n    }\r\n    \/\/End JavaScript\r\n\r\n    \/\/cs\r\n    if (pres&#x5B;i].className == &quot;cs&quot;) {\r\n      str = pres&#x5B;i].innerHTML;\r\n      r = new RegExp(\u2018&lt;\/?(?!hr)\\\\w+( |&gt;)\u2019,'gi\u2019);\r\n      var arr = str.match(r);\r\n      if(arr != null) for(var n=0; n&lt;arr.length; n++) {\r\n          an = arr&#x5B;n]; an = arr&#x5B;n].replace(\u2018&lt;\u2019,'&amp;lt;\u2019); an = an.toLowerCase();\r\n          str = str.replace(arr&#x5B;n], an);\r\n        }\r\n\r\n      r1 = &quot;(#if DBG&#x5B;\\\\s\\\\S]+?#endif)&quot;;\r\n      r2 = &quot;(#&#x5B;a-z ]*)&quot;;\r\n      r3 = &quot;(\/\/\/ *&amp;lt;&#x5B;\/\\\\w]+&gt;)&quot;;\r\n      r4 = &quot;(\/\\\\*&#x5B;\\\\s\\\\S]*?\\\\*\/)&quot;;\r\n      r5 = &quot;((?:http:)?\/\/.*)&quot;;\r\n      r6 = \u2018(@?&quot;.*?&quot;)\u2019;\r\n      r7 = &quot;(\u2018.*?\u2019)&quot;;\r\n      r8 = &quot;\\\\b(&quot; + CsKeywords + &quot;)\\\\b&quot;;\r\n      r9 = &quot;\\\\b(&quot; + CsClass + &quot;)\\\\b&quot;;\r\n\r\n      rs = r1 + \u2018|\u2019 + r2 + \u2018|\u2019 + r3 + \u2018|\u2019 + r4 + \u2018|\u2019 + r5 + \u2018|\u2019 + r6 + \u2018|\u2019 + r7 + \u2018|\u2019 + r8 + \u2018|\u2019 + r9;\r\n      rr = \u2018&lt;font color=#808080&gt;$1$2$3&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#008000&gt;$4$5&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#A31515&gt;$6$7&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#0000FF&gt;$8&lt;\/font&gt;\u2019 +\r\n           \u2018&lt;font color=#2B91AF&gt;$9&lt;\/font&gt;\u2019;\r\n      re = new RegExp(rs,&quot;g&quot;);\r\n      str = str.replace(re, rr);\r\n      pres&#x5B;i].innerHTML = &quot;&lt;pre&gt;&quot; + str + &quot;&lt;\/pre&gt;&quot;;\r\n    }\r\n    \/\/End cs\r\n}\r\n\/\/}\r\n<\/pre>\n<p>\u4ee5\u4e0a\u662fjs\u811a\u672c\u5185\u5bb9\u3002<\/p>\n<p>\u4f7f\u7528\u65b9\u6cd5:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n\u9996\u5148\u5728 HTML \u7684 &lt;head&gt; \u548c &lt;\/head&gt; \u4e4b\u95f4\u52a0\u4e0a: &lt;script defer type=&quot;text\/javascript&quot; src=&quot;\u4e0a\u9762\u7684js.js&quot;&gt;&lt;\/script&gt;\r\n<\/pre>\n<p>\u7136\u540e:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;pre class=Delphi&gt;Delphi \u4ee3\u7801&lt;\/pre&gt;\r\n&lt;pre class=cs&gt;C# \u4ee3\u7801&lt;\/pre&gt;\r\n&lt;pre class=cpp&gt;C \u6216 C++ \u4ee3\u7801&lt;\/pre&gt;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>var DelphiKeywords = \u2018absolute|abstract|and|array|as|as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-332","post","type-post","status-publish","format-standard","hentry","category-code_related"],"_links":{"self":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/comments?post=332"}],"version-history":[{"count":1,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/332\/revisions"}],"predecessor-version":[{"id":5292,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/332\/revisions\/5292"}],"wp:attachment":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/media?parent=332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/categories?post=332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/tags?post=332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}