フォーマッタ

「フォーマッタ」の編集履歴(バックアップ)一覧はこちら

フォーマッタ」(2013/04/22 (月) 14:55:30) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

-[[SQLフォーマッターFor WEB>>http://file.atl.blog.shinobi.jp/sqlFormatter.html]] -[[HTMLフォーマッターFor WEB>>http://file.atl.blog.shinobi.jp/htmlFormatter.html]] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="-1"> <SCRIPT LANGUAGE="JavaScript"> eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('9 5=5||{};5.7=5.7||{};5.k=5.k||{};5.7.O="\\t";5.7.1x={".":3,"(":3,",":p};5.7.1y={".":3,",":3,";":3,")":3,"(*)":3,"(+)":3};5.7.1z={"1e":p,"P":3,"Q":3,"2f":3,"R":3,"Y":3,"Z":3,"1A":3,"10":3,"H":p,"D":3,",":3,"(":3,";":3,"I":3,"E":p,"J":p,"2g":3,"1f":3,"1g":3,"11":3,"D I":3,"q s w":3,"q C s w":3};5.7.1B={"12":3,"Q":3,"R":3,"Y":3,"Z":3,"E":3,"J":3,"1C":3,"1D":3,"1E":3,"10":3,"D":3,")":3,";":3,"q":3,"2h":3,"1F":3,"P":3,",":p,"H":3,"1e":p,"1G":3,"1H":3,"1I":3,"1J":3,"1K":3,"1f":3,"1g":3,"11":3,"D I":3,"q s w":3,"q C s w":3};5.7.1h={"2i":"E"};5.7.1L={"1e":p,"P":3,"Q":3,"12":3,"R":3,"Y":3,"Z":3,"E":3,"J":3,"1A":3,"10":3,"(":3,"2j":3,"H":3,"11":3,"s":3,"2k":3,"q s w":3,"q C s w":3};5.7.1M={"Y":3,"E":3,"J":3,"10":3,"D":3,"1F":3,"H":3,"1f":3,"1g":3,"11":3,"D I":3,"q s w":3,"q C s w":3};5.7.1N={"P":3,"12":3,"Q":3,"R":3,"E":3,"J":3,"H":3};5.7.1i={"1G":3,"1H":3,"1I":3,"1J":3,"1K":3};5.7.1O={"P":3};5.7.1P={"R":3,"Z":3,"1D":3,"1C":3,"1E":3,"12":3,"Q":3};5.7.1Q={"(":")","q s w":"q C s w"};5.7.1R={"D":"I","D I":3,"q":{"s":3,"C":3},"q s":"w","q s w":3,"q C":"s","q C s":"w","q C s w":3};5.7.1j={"E":5.7.O,"J":5.7.O,"H":5.7.O};5.13=8(a){4.F=v K();4.14=0;4.S=m;6(a){4.x(a)}};5.13.u={x:8(a){4.F.15(a);4.14+=a.o;4.S=m},L:8(){6(!4.S){4.S=4.F.1S("")}j 4.S},o:8(){j 4.14},T:8(i){j 4.L().2l(i)},2m:8(){4.14=0;4.F.o=0}};5.k.M=8(){};5.k.M.u={1T:0,1U:1,2n:2,U:8(a){6(!4.16){4.16=v K()}4.16.15(a)},1V:8(){j 4.16},1k:8(){j m},1W:8(a){4.1X=a},1Y:8(){j 4.1X}};5.k.A=8(a){4.1Z=a;4.1l=v K();4.17=5.k.A.u.17++};5.k.A.u=v 5.k.M();5.k.A.u.17=0;5.k.A.u.1k=8(){j 5.k.M.1U};5.k.A.u.1m=8(a){j 4.1l[a]};5.k.A.u.1n=8(a,b){4.1l[a]=b};5.k.A.u.20=8(){j 4.1Z};5.k.A.u.21=8(){j 4.17};5.k.N=8(){};5.k.N.u=v 5.k.M();5.k.N.u.1k=8(){j 5.k.M.1T};5.k.N.u.18=8(a){j v 5.k.A(a)};5.k.N.u.2o=8(a){j v 5.k.2p(a)};5.7.22=8(a){6(a!=m){4.1o=v 5.7.19(a);4.7=a}4.1a=v K();4.1b=v K();4.V=m;4.23="";4.z=0;4.2q={};4.1c={};4.1p={}};5.7.22.u={2r:8(a){6(a!=m){4.1o=v 5.7.19(a);4.7=a}6(4.7==m||4.7.o==0){j""}9 b=v 5.k.N();9 c=b.18("2s");c.1n("1d",3);4.1q(b,c);9 d=v 5.13();4.1r(d,c);4.24(d);j d.L()},24:8(a){6(a.o<=0){j}9 b=a.F.25();6(b){a.x(b.26(/([ \\t]+$)/g,\'\'))}},2t:8(a){9 b=a.F[a.F.o-1];6(b==m||b.T(b.o-1)=="\\n"){j 3}j p},27:8(a,b,c,d,e){9 f=c.1s();9 g=p;9 h="";9 i=5.7.1Q[f];6(i){4.1a.15(4.z);4.1b[e+":"+i]=3}l 6(4.1b[e+":"+f]){4.z=4.1a.25();2u 4.1b[f]}l 6(f==";"){4.z=0;4.1a.o=0}6(5.7.1y[f]){b=b.26(/([ \\t]+$)/g,\'\')}6(5.7.1M[f]){6(4.z>0){4.z--}}6(5.7.1i[f]){6(4.1p[e]==m){4.1p[e]=3}l{4.z--}}6(5.7.1O[f]){4.1c[e]=4.z}6(5.7.1P[f]&&4.1c[e]!=m){4.z=4.1c[e]}6(5.7.1h[f]){4.V=5.7.1h[f]}6(5.7.1B[f]){6(d&&4.V!=f){b="\\r\\n"}}6(4.V==f){h=" ";4.V=m}l 6((5.7.1z[f]&&d)||f.28(/^\\-\\-/)||f.28(/\\*\\/$/)){h="\\r\\n"}l 6(5.7.1j[f]){h=5.7.1j[f]}l 6(5.7.1x[f]){h=""}l{h=" "}6(b!=m&&b.T(b.o-1)==\'\\n\'){6(a.o()>0){a.x(b+4.1t(4.z)+c)}l{a.x(4.1t(4.z)+c)}}l{a.x((b==m?"":b)+c)}6(5.7.1L[f]||5.7.1i[f]){4.z++}4.23=f;j h},1r:8(a,b){9 c=b.1V();6(c==m){j}1u(9 i=0;i<c.o;i++){6(c[i].20()=="29"){4.1r(a,c[i]);G}9 d=b.1m("1d");9 e=b.21();4.2a=4.27(a,4.2a,c[i].1Y(),d,e)}j},1q:8(a,b){9 c;9 d=b.1m("1d")||p;2b((c=4.1o.2c(5.7.1R))!=m){9 e=a.18("2v");e.1W(c);6(!d&&5.7.1N[c.1s()]){d=3;b.1n("1d",3)}6(c=="("){9 f=a.18("29");f.U(e);b.U(f);4.1q(a,f);G}l 6(c==")"){b.U(e);j}b.U(e)}},1t:8(a){9 b="";1u(9 i=0;i<a;i++){b+=5.7.O}j b}};5.7.19=8(a){4.W={",":3,"(":3,")":3,"=":3,"<":3,">":3,"+":3,"-":3,"*":3,"/":3,".":3,";":3,"|":3};4.X={" ":3,"\\t":3,"\\r":3,"\\n":3};4.1v={"<":{"=":3,">":3},"(":{"*":3,"+":3},">":"=","!":"=","(+":")","(*":")","/":"*","*":"/","-":"-","|":"|","<=":3,">=":3,"!=":3,"<>":3,"(+)":3,"(*)":3,"/*":3,"*/":3,"--":3,"||":3};4.2w=m;4.7=a;4.1w=0};5.7.19.u={2c:8(a){9 b;9 c;6(4.B&&4.B.o>0){j 4.B.2d()}6(!4.B){4.B=v K()}2b((b=4.2e())!=m){4.B.15(b);c=4.B.1S(" ");9 d=a[c.1s()];6(d==m){j 4.B.2d()}l 6(d==3){y}l{G}y}6(4.B.o>0){4.B.o=0;j c}l{j m}},2e:8(){9 a;9 b;9 c=v 5.13();9 d=p;9 e=p;9 f=p;9 g=p;6(4.7==m){j m}1u(9 i=4.1w;i<4.7.o;i++){a=4.7.T(i);6(i+1<4.7.o){b=4.7.T(i+1)}l{b=""}6(!e&&!f&&!g&&a=="\\\'"){d=!d;6(!d){c.x(a);y}}l 6(!d&&!f&&!g&&a=="\\""){e=!e;6(!e){c.x(a);y}}l 6(!d&&!e&&!g&&a=="-"&&b=="-"){6(!f&&c.o()>0){i--;y}f=3}l 6(f&&(a=="\\r"||a=="\\n")){f=p;y}l 6(!d&&!e&&!f&&a=="/"&&b=="*"){6(c.o()>0){i--;y}g=3}l 6(g&&a=="*"&&b=="/"){g=p;c.x(a+b);i++;y}6(!d&&!e&&!f&&!g){6(4.W[a]){6(c.o()==0){c.x(a);6(!4.W[b]&&!4.X[b]){y}G}9 h=4.1v[c.L()];6(h){6(h==a||h[a]){c.x(a);6(4.1v[c.L()]==3){y}G}}i--;y}l 6(4.X[a]){6(4.W[b]||4.X[b]){G}6(c.o()>0){y}l{G}}l{6(4.W[b]||4.X[b]){c.x(a);y}}}c.x(a)}4.1w=i+1;6(c.o()>0){j c.L()}l{j m}}};',62,157,'|||true|this|atl|if|sql|function|var||||||||||return|dom|else|null||length|false|WHEN||MATCHED||prototype|new|THEN|append|break|indentCnt|Element|joinArray|NOT|UNION|AND|array|continue|ON|ALL|OR|Array|toString|Node|Document|INDENT_STRING|SELECT|UPDATE|FROM|stringCache|charAt|appendChild|notBreakToken|TOKEN_END_KIGOH_MAP|TOKEN_END_MAP|SET|WHERE|VALUES|USING|INSERT|StringBuffer|len|push|childArray|elementId|createElement|SqlTokenizer|machingIndentArray|machingEndKeyMap|baseIndentMap|BREAK|WITH|MINUS|INTERSECT|NOT_BREAK_TOKEN_MAP|BLOCK_INDENT_NEXT_MINUS_ALL_PLUS_TOKEN_MAP|SPECIAL_LAST_JOIN_TOKEN_MAP|getNodeType|attributeHash|getAttribute|setAttribute|tokenizer|baseIndentPlusMinusFirstFlgMap|createSqlNode|makeSqlBuffer|toUpperCase|getIndent|for|TOKEN_RENKETSU_KIGOH_MAP|tokenIdx|ATO_NO_SPACE_TOHKEN_KIGOH_MAP|MAE_NO_SPACE_TOHKEN_KIGOH_MAP|ATO_BREAK_TOKEN_MAP|BY|MAE_BREAK_TOKEN_MAP|GROUP|HAVING|ORDER|END|LEFT|RIGHT|INNER|FULL|NATURAL|INDENT_PLUS_TOKEN_MAP|INDENT_MINUS_TOKEN_MAP|KAKKO_BREAK_TOKEN_MAP|BASE_INDENT_SEARCH_MAP|BASE_BLOCK_LEVEL_INDENT_MAP|MACHING_INDENT_MAP|SPECIAL_JOIN_TOKEN_MAP|join|DOCUMENT_NODE|ELEMENT_NODE|getChildNodes|setNodeValue|value|getNodeValue|tagName|getTagName|getElementId|SqlFormatter|oldUpperToken|rTrimBuffer|pop|replace|formatToken|match|block|staticSpliter|while|nextTokenJoin|shift|nextToken|INTO|JOIN|ELSE|BETWEEN|CASE|MERGE|substring|clear|TEXT_NODE|createTextNode|Text|machingIndentMap|format|root|isLastBreakBuffer|delete|token|specialJoinMap'.split('|'),0,{})) //" function load() { var cookieMap = getCookieMap(); // Cookieからエレメントの初期化. if (cookieMap["kanma"]) { selectElementByValue(document.getElementsByName("kanma"), cookieMap["kanma"]); } if (cookieMap["andor"]) { selectElementByValue(document.getElementsByName("andor"), cookieMap["andor"]); } if (cookieMap["indent"]) { selectElementByValue(document.getElementsByName("indent"), cookieMap["indent"]); } if (cookieMap["join"]) { selectElementByValue(document.getElementsByName("join"), cookieMap["join"]); } if (cookieMap["text"]) { selectElementByValue(document.getElementsByName("text"), cookieMap["text"]); } if (cookieMap["kaigyo"]) { selectElementByValue(document.getElementsByName("kaigyo"), cookieMap["kaigyo"]); } } function selectElementByValue(elements, value) { for (var i = 0; i < elements.length; i++) { if (elements[i].value == value) { elements[i].checked = true; break; } } } function getCheckedElementByName(name) { var elements = document.getElementsByName(name); for (var i = 0; i < elements.length; i++) { if (elements[i].checked) { return elements[i]; } } } function getCookieMap() { var cookieMap = []; var cookieList = document.cookie.split(/; */); for (var i = 0; i < cookieList.length; i++) { var tmp = cookieList[i].split("="); cookieMap[tmp[0]] = unescape(tmp[1]); } return cookieMap; } function getCookieString(element) { return element.name + "=" + escape(element.value) + ";"; } function saveCookie() { var date = new Date(); date.setTime(date.getTime() + 3 * 365 * 24 * 60 * 60 * 1000); document.cookie = getCookieString(getCheckedElementByName("kanma")); document.cookie = getCookieString(getCheckedElementByName("andor")); document.cookie = getCookieString(getCheckedElementByName("indent")); document.cookie = getCookieString(getCheckedElementByName("join")); document.cookie = getCookieString(getCheckedElementByName("text")); document.cookie = getCookieString(getCheckedElementByName("kaigyo")); document.cookie = "expires=" + date.toGMTString(); } function format() { var element = document.getElementById('sql'); var kanmaElements = document.getElementsByName("kanma"); var andorElements = document.getElementsByName("andor"); var indentElements = document.getElementsByName("indent"); var joinElements = document.getElementsByName("join"); if (kanmaElements[0].checked) { atl.sql.ATO_BREAK_TOKEN_MAP[","] = false; atl.sql.MAE_BREAK_TOKEN_MAP[","] = true; atl.sql.MAE_NO_SPACE_TOHKEN_KIGOH_MAP[","] = false; atl.sql.ATO_NO_SPACE_TOHKEN_KIGOH_MAP[","] = true; } else { atl.sql.ATO_BREAK_TOKEN_MAP[","] = true; atl.sql.MAE_BREAK_TOKEN_MAP[","] = false; atl.sql.MAE_NO_SPACE_TOHKEN_KIGOH_MAP[","] = true; atl.sql.ATO_NO_SPACE_TOHKEN_KIGOH_MAP[","] = false; } if (andorElements[0].checked) { atl.sql.ATO_BREAK_TOKEN_MAP["AND"] = false; atl.sql.MAE_BREAK_TOKEN_MAP["AND"] = true; atl.sql.ATO_BREAK_TOKEN_MAP["OR"] = false; atl.sql.MAE_BREAK_TOKEN_MAP["OR"] = true; atl.sql.ATO_BREAK_TOKEN_MAP["ON"] = false; atl.sql.MAE_BREAK_TOKEN_MAP["ON"] = true; } else { atl.sql.ATO_BREAK_TOKEN_MAP["AND"] = true; atl.sql.MAE_BREAK_TOKEN_MAP["AND"] = false; atl.sql.ATO_BREAK_TOKEN_MAP["OR"] = true; atl.sql.MAE_BREAK_TOKEN_MAP["OR"] = false; atl.sql.ATO_BREAK_TOKEN_MAP["ON"] = true; atl.sql.MAE_BREAK_TOKEN_MAP["ON"] = false; } if (indentElements[0].checked) { atl.sql.INDENT_STRING = "\t"; atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP["AND"] = atl.sql.INDENT_STRING; atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP["OR"] = atl.sql.INDENT_STRING; atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP["ON"] = atl.sql.INDENT_STRING; } else { atl.sql.INDENT_STRING = " "; atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP["AND"] = " "; atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP["OR"] = " "; atl.sql.SPECIAL_LAST_JOIN_TOKEN_MAP["ON"] = " "; } if (joinElements[0].checked) { atl.sql.ATO_BREAK_TOKEN_MAP["JOIN"] = true; } else if (joinElements[1].checked) { atl.sql.ATO_BREAK_TOKEN_MAP["JOIN"] = false; } if (element.value.length > 0) { var formater = new atl.sql.SqlFormatter(element.value); element.value = formater.format(); } saveCookie(); }; function changeText() { var element = document.getElementById('sql'); saveCookie(); if (element.value.length == 0) { return; } var textElements = document.getElementsByName("text"); var kaigyo = getCheckedElementByName("kaigyo").value; var lines = element.value.split(/\r?\n/); var buffer = []; for (var i = 0; i < lines.length; i++) { if (textElements[0].checked) { // Java buffer.push((lines[i].replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + kaigyo).replace(/^|$/g, "\"")); element.value = buffer.join(" +\r\n"); } else if (textElements[1].checked) { // Perl buffer.push((lines[i].replace(/\\/g, "\\\\").replace(/\"/g, "\\\"") + kaigyo).replace(/^|$/g, "\"")); element.value = buffer.join(" .\r\n"); } } } function changeUnText() { var element = document.getElementById('sql'); saveCookie(); if (element.value.length == 0) { return; } var textElements = document.getElementsByName("text"); var lines = element.value.split(/\r?\n/); var buffer = []; for (var i = 0; i < lines.length; i++) { if (textElements[0].checked) { // Java buffer.push(lines[i].replace(/^\"| *(\\r)?(\\n)?\" *\+? *$/g, "").replace(/\\\"/g, "\"").replace(/\\\\/g, "\\")); } else if (textElements[1].checked) { // Perl buffer.push(lines[i].replace(/^\"| *(\\r)?(\\n)?\" *\.? *$/g, "").replace(/\\\"/g, "\"").replace(/\\\\/g, "\\")); } } element.value = buffer.join("\r\n"); } </SCRIPT> </head> <body onload="load();"> <!--shinobi 解析--> <script type="text/javascript" src="http://x7.tonosama.jp/ufo/098458502"></script> <noscript><a href="http://x7.tonosama.jp/bin/gg?098458502" target="_blank"> <img src="http://x7.tonosama.jp/bin/ll?098458502" border="0"></a><br> <span style="font-size:9px"><img style="margin:0;vertical-align:text-bottom;" src="http://img.shinobi.jp/tadaima/fj.gif" width="19" height="11"> <a href="http://original_gift.rentalurl.net" target="_blank">オリジナルギフト</a> <a href="http://diamond.rentalurl.net" target="_blank">ダイヤモンド</a></span></noscript> <!--shinobi カウンター--> <div align="right"> <script type="text/javascript" src="http://ct2.akazunoma.com/sc/1154769"></script> <noscript><a href="http://ct2.akazunoma.com/gg/1154769" target="_blank"> <img src="http://ct2.akazunoma.com/ll/1154769" border="0" alt="カウンター" /></a><br /> <span id="NINCT1SPAN1154769" style="font-size:9px">[PR] <a href="http://jidousya_hoken_mitsumori.rentalurl.net" target="_blank">自動車保険見積り</a></span></noscript> </div> <div align="center" style=""> <b style="font-size : 200%">SQLフォーマッターFor WEB</b>&nbsp;<b>β014</b> <br> <br> <span style="font-size: 80%;"> サクラエディタSQL整形マクロをベースにWEB化してみました。<br> ローカルに保存してSQL文整形ツールとしてもお使えできます。 </span> <br> <table style="border: 1px solid gray;width:580px;font-size: 80%;"> <tr> <td align="left"> <b>~使い方~</b> </td> </td> <tr> <td align="left">  1. 下のテキストボックスにSQLを貼り付ける。<br>  2. 思うがままに「整形する」ボタンを押下する。<br> <br> いい感じに整形できたら出来上がり~。 本家のサクラエディタマクロ版のSQL整形マクロは<a href="http://atl.blog.shinobi.jp/">コチラ</a>から。<br> <br> ※β010 for Webからは<font color="red"><b>JOIN形式</b></font>を指定できるようになりましたっ!(2010/5/1)<br> ※β013ex1 for Webからは<font color="red"><b>テキスト変換</b></font>ができるようになりましたっ!(2010/11/3)<br>   さらにCookieに設定値を保持するようにしたので、次回からは再設定が不要になりましたっ!<br> ※β014 for WEBからは<font color="red"><b>between A and B</b></font>に対応しました(2012/8/14) </td> </tr> </table> <br> <table style="border: 1px solid gray;width:380px;font-size: 90%;" > <tr align="left"> <td>カンマ整形:</td> <td><input type="radio" name="kanma" value="0">前</td> <td><input type="radio" name="kanma" value="1" checked>後</td> </tr> <tr align="left"> <td>AND/OR/ON整形:</td> <td><input type="radio" name="andor" value="0" checked>前</td> <td><input type="radio" name="andor" value="1">後</td> </tr> <tr align="left"> <td>インデント:</td> <td><input type="radio" name="indent" value="0">タブ</td> <td><input type="radio" name="indent" value="1" checked>スペース4</td> </tr> <tr align="left"> <td>JOIN形式:</td> <td><input type="radio" name="join" value="0" checked>パターンA</td> <td><input type="radio" name="join" value="1">パターンB</td> </tr> </table> <textarea rows=16 cols=96 id="sql"style="overflow:scroll;" wrap=off></textarea> <br> <input type="button" value="整形する" onclick="format();"> <br><br> <div style="width:380px;font-size: 90%;" align="left"> おまけ:<br> </div> <table style="border: 1px solid gray;width:380px;font-size: 90%;"> <tr align="left"> <td>変換フォーマット:</td> <td><input type="radio" name="text" value="0" checked>Java</td> <td><input type="radio" name="text" value="1">Perl</td> </tr> <tr align="left"> <td>改行コード:</td> <td><input type="radio" name="kaigyo" value=" " checked>なし</td> <td><input type="radio" name="kaigyo" value="\n">\n</td> <td><input type="radio" name="kaigyo" value="\r\n" checked>\r\n</td> <td></td> </tr> </table> <input type="button" value="テキスト変換" onclick="changeText();"> <input type="button" value="テキスト逆変換" onclick="changeUnText()"> </div> <br> </body> </html> EOF
-[[SQLフォーマッターFor WEB>>http://file.atl.blog.shinobi.jp/sqlFormatter.html]] -[[HTMLフォーマッターFor WEB>>http://file.atl.blog.shinobi.jp/htmlFormatter.html]] EOF

表示オプション

横に並べて表示:
変化行の前後のみ表示: