OSDN Git Service

Version 0.6.210, add Android browser PC mode detection.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 07_XString.js
index aa7d1f2..6f99ff2 100644 (file)
@@ -3,6 +3,33 @@
 // ------------ local variables -------------------------------------------- //\r
 // ------------------------------------------------------------------------- //\r
 var X_String_CRLF = String.fromCharCode( 13 ) + String.fromCharCode( 10 );\r
+       X_String_CHAR_REFS = {"¡":161,"¢":162,"£":163,"¤":164,"¥":165,"¦":166,"§":167,"¨":168,"©":169,\r
+"ª":170,"«":171,\r
+"¬":172,"­":173,"®":174,"¯":175,"°":176,"±":177,"²":178,"³":179,"´":180,"µ":181,"¶":182,\r
+"·":183,"¸":184,"¹":185,"º":186,"»":187,"¼":188,"½":189,"¾":190,"¿":191,"À":192,\r
+"Á":193,"Â":194,"Ã":195,"Ä":196,"Å":197,"Æ":198,"Ç":199,"È":200,"É":201,"Ê":202,\r
+"Ë":203,"Ì":204,"Í":205,"Î":206,"Ï":207,"Ð":208,"Ñ":209,"Ò":210,"Ó":211,"Ô":212,\r
+"Õ":213,"Ö":214,"×":215,"Ø":216,"Ù":217,"Ú":218,"Û":219,"Ü":220,"Ý":221,"Þ":222,\r
+"ß":223,"à":224,"á":225,"â":226,"ã":227,"ä":228,"å":229,"æ":230,"ç":231,"è":232,\r
+"é":233,"ê":234,"ë":235,"ì":236,"í":237,"î":238,"ï":239,"ð":240,"ñ":241,"ò":242,\r
+"ó":243,"ô":244,"õ":245,"ö":246,"÷":247,"ø":248,"ù":249,"ú":250,"û":251,"ü":252,\r
+"ý":253,"þ":254,"ÿ":255,"Œ":338,"œ":339,"Š":352,"š":353,"Ÿ":376,"ˆ":710,"˜":732,"ƒ":402,\r
+"Α":913,"Β":914,"Γ":915,"Δ":916,"Ε":917,"Ζ":918,"Η":919,"Θ":920,"Ι":921,"Κ":922,"Λ":923,\r
+"Μ":924,"Ν":925,"Ξ":926,"Ο":927,"Π":928,"Ρ":929,"Σ":931,"Τ":932,"Υ":933,"Φ":934,"Χ":935,"Ψ":936,\r
+"Ω":937,"α":945,"β":946,"γ":947,"δ":948,"ε":949,"ζ":950,"η":951,"θ":952,"ι":953,"κ":954,\r
+"λ":955,"μ":956,"ν":957,"ξ":958,"ο":959,"π":960,"ρ":961,"ς":962,"σ":963,"τ":964,"υ":965,"φ":966,\r
+"χ":967,"ψ":968,"ω":969,"ϑ":977,"ϒ":978,"ϖ":982," ":8194," ":8195," ":8201,"‌":8204,"‍":8205,\r
+"‎":8206,"‏":8207,"–":8211,"—":8212,"‘":8216,"’":8217,"‚":8218,"“":8220,"”":8221,"„":8222,\r
+"†":8224,"‡":8225,"•":8226,"…":8230,"‰":8240,"′":8242,"″":8243,"‹":8249,"›":8250,"‾":8254,\r
+"⁄":8260,"€":8364,"ℑ":8465,"&ewierp;":8472,"ℜ":8476,"™":8482,"ℵ":8501,"←":8592,"↑":8593,"→":8594,\r
+"↓":8595,"↔":8596,"↵":8629,"⇐":8656,"⇑":8657,"⇒":8658,"⇓":8659,"⇔":8660,"∀":8704,"∂":8706,\r
+"∃":8707,"∅":8709,"∇":8711,"∈":8712,"∉":8713,"∋":8715,"∏":8719,"∑":8721,"−":8722,"∗":8727,\r
+"√":8730,"∝":8733,"∞":8734,"∠":8736,"∧":8743,"∨":8744,"∩":8745,"∪":8746,"∫":8747,"∴":8756,"∼":8764,\r
+"≅":8773,"≈":8776,"≠":8800,"≡":8801,"≤":8804,"≥":8805,\r
+"⊂":8834,"⊃":8835,"⊄":8836,"⊆":8838,"⊇":8839,"⊕":8853,"⊗":8855,"⊥":8869,"⋅":8901,\r
+"⌈":8968,"⌉":8969,"⌊":8970,"⌋":8971,"⟨":9001,"⟩":9002,"◊":9674,"♠":9824,"♣":9827,\r
+"♥":9829,"♦":9830\r
+};\r
 \r
 // ------------------------------------------------------------------------- //\r
 // --- interface ----------------------------------------------------------- //\r
@@ -131,14 +158,26 @@ function X_String_whiteSpaceToTag( text ){
  * @return {string} html文字列\r
  */\r
 function X_String_chrReferanceTo( str ){\r
+       var refs, i, l, ref;\r
+       \r
     if( str == null || str === '' ) return '';\r
-    return str.toString()\r
+    if( str.indexOf( '&' ) === -1 ) return str;\r
+    \r
+    str = str.toString()\r
        .split( '"' ).join( '"' )\r
        .split( ''' ).join( "'" )\r
        .split( '&lt;'   ).join( '<' )\r
        .split( '&gt;'   ).join( '>' )\r
-       .split( '&nbsp;' ).join( ' ' )\r
-       .split( '&amp;'  ).join( '&' ); // last!\r
+       .split( '&nbsp;' ).join( ' ' );\r
+    \r
+    if( str.indexOf( '&' ) === -1 ) return str;\r
+    \r
+    refs = X_String_CHAR_REFS;\r
+    for( k in refs ){\r
+       str = str.split( k ).join( String.fromCharCode( refs[ k ] ) );\r
+    };\r
+  \r
+    return str.split( '&amp;'  ).join( '&' ); // last!\r
 };\r
 \r
 /**\r