doc_show.js
上传用户:jhtang88
上传日期:2014-01-27
资源大小:28528k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. var eSentenceAry, cSentenceAry;
  2. function parseContent(contentObj, isEnglish) {
  3. var content = contentObj.value;
  4. RegExp.multiline = true;
  5. var eText = "";
  6. // To match any character including the 'n', use a pattern such as '[sS]. ...
  7. var re;
  8. if (isEnglish)
  9. re = /([e])([sS]*)([/e])/ig; // 匹配英文部分
  10. else
  11. re = /([c])([sS]*)([/c])/ig; // 匹配英文部分
  12. if (re.test(content))
  13. eText = RegExp.$2;
  14. // ? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, 
  15. // {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的 
  16. // 匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜 
  17. // 索的字符串。例如,对于字符串 "oooo",’o+?’ 将匹配单个 
  18. // "o",而 ’o+’ 将匹配所有 ’o’。 
  19. re = /([p])([Ss]*?)([/p])/ig; // 匹配英文部分的段落,使用非贪婪模式 ?
  20. var sentenceAry = new Array(); // 注意是一维数组,因为维数不确定,其各个无素为长度不一的数组
  21. var pIndex = 0; // 段落索引
  22. var sIndex = 0; // 句子索引
  23. var k = 0;
  24. while (re.test(eText)) {
  25. var pText = RegExp.$2;
  26. // alert(pText);
  27. var sre = /([s])([Ss]*?)([/s])/ig; // 匹配段落中的句子
  28. sIndex = 0;
  29. sentenceAry[pIndex] = new Array();
  30. while (sre.test(pText)) {
  31. // alert(RegExp.$2);
  32. if (isEnglish) {
  33. sentenceAry[pIndex][sIndex] = RegExp.$2;
  34. sentenceAry[pIndex][sIndex] = "<span id=en_" + k + "><img src=images/ico.gif align=absolutemiddle style='cursor:hand' onClick="selPlPlay(" + k + ")">&nbsp;" + sentenceAry[pIndex][sIndex] + "</span>";
  35. }
  36. else {
  37. sentenceAry[pIndex][sIndex] = RegExp.$2;
  38. sentenceAry[pIndex][sIndex] = "<span id=cn_" + k + ">" + sentenceAry[pIndex][sIndex] + "</span>";
  39. }
  40. sIndex++;
  41. k++;
  42. }
  43. pIndex++;
  44. }
  45. /*
  46. var m = sentenceAry.length;
  47. for (var i=0; i<m; i++)
  48. {
  49. var n = sentenceAry[i].length;
  50. for (var j=0; j<n; j++)
  51. alert(sentenceAry[i][j]);
  52. }
  53. */
  54. return sentenceAry;
  55. }
  56. function show(mode) {
  57. if (mode=="yw")
  58. showYuanWen();
  59. else if (mode=="yiw")
  60. showYiWen();
  61. else if (mode=="zydb")
  62. showZydb();
  63. else if (mode=="dldb")
  64. showDldb();
  65. else if (mode=="jzdb")
  66. showJzdb();
  67. else
  68. showYuanWen();
  69. }
  70. // 原文
  71. function showYuanWen() {
  72. var str = "";
  73. var m = eSentenceAry.length;
  74. for (var i=0; i<m; i++)
  75. {
  76. str += "<p>";
  77. var n = eSentenceAry[i].length;
  78. for (var j=0; j<n; j++) {
  79. str += eSentenceAry[i][j];
  80. }
  81. str += "</p>"
  82. }
  83. contentView.innerHTML = str;
  84. }
  85. // 译文
  86. function showYiWen() {
  87. var str = "";
  88. var m = cSentenceAry.length;
  89. for (var i=0; i<m; i++)
  90. {
  91. str += "<p>";
  92. var n = cSentenceAry[i].length;
  93. for (var j=0; j<n; j++) {
  94. str += cSentenceAry[i][j];
  95. }
  96. str += "</p>"
  97. }
  98. contentView.innerHTML = str;
  99. }
  100. // 左右对比
  101. function showZydb() {
  102. var str = "<table width=98%>";
  103. var m = eSentenceAry.length;
  104. for (var i=0; i<m; i++) {
  105. str += "<tr><td width=50%>";
  106. var n = eSentenceAry[i].length;
  107. for (var j=0; j<n; j++) {
  108. str += eSentenceAry[i][j];
  109. }
  110. str += "</td><td width=50%>"
  111. if (cSentenceAry[i]!=null) {
  112. n = cSentenceAry[i].length;
  113. for (j=0; j<n; j++) {
  114. str += cSentenceAry[i][j];
  115. }
  116. }
  117. str += "</td></tr>";
  118. }
  119. str += "</table>";
  120. contentView.innerHTML = str;
  121. }
  122. // 段落对比
  123. function showDldb() {
  124. var str = "<p>";
  125. var m = eSentenceAry.length;
  126. for (var i=0; i<m; i++) {
  127. var n = eSentenceAry[i].length;
  128. for (var j=0; j<n; j++) {
  129. str += eSentenceAry[i][j];
  130. }
  131. if (cSentenceAry[i]!=null) {
  132. str += "<p>";
  133. n = cSentenceAry[i].length;
  134. for (j=0; j<n; j++) {
  135. str += cSentenceAry[i][j];
  136. }
  137. str += "</p>";
  138. }
  139. }
  140. str += "</p>";
  141. contentView.innerHTML = str;
  142. }
  143. // 句子对比
  144. function showJzdb() {
  145. var str = "";
  146. var m = eSentenceAry.length;
  147. for (var i=0; i<m; i++) {
  148. str += "<p>";
  149. var n = eSentenceAry[i].length;
  150. for (var j=0; j<n; j++) {
  151. str += eSentenceAry[i][j];
  152. if (cSentenceAry[i]!=null) {
  153. if (cSentenceAry[i][j]!=null)
  154. str += cSentenceAry[i][j];
  155. }
  156. }
  157. str += "</p>";
  158. }
  159. contentView.innerHTML = str;
  160. }