0

こんにちは私は誰かが私を助けてくれるかどうか疑問に思っていました私はテキストのブロックを文に分割してから文を単語に分割したいです、私はテキストを文ごとに分割することができましたが、文を単語に分割する方法がわかりません。「input.text.split('\ r?\ n')」をブラケットの値をスペースに置き換えると、テキストが単語ごとに分割されますが、最初にテキストを文ごとに分割してから単語ごとに分割する必要があります。カスタムスタイルを追加できるように、単語で。コードは以下のとおりです。よろしくお願いします。ps各文には改行があります。

    <script type="text/javascript">
      var parser = {
        outputString:  '',
        subtitle: function(input) {
          var words = input.text.split('\\r?\\n');
          var duration = input.end - input.start;
          var timeStep = duration/words.length;
          for (var i=0, l=words.length; i<l; ++i) {
            var time = Math.round((input.start + i*timeStep) * 1000);
            var text = words[i];
            var safeText = text.replace('"', '\\"');
            parser.outputString += '<span class="arabic" m="'+time+'" oval="'+safeText+'">'+text+'</span>';
          } //for
          return parser;
        }, //subtitle
    }; //parser

      document.addEventListener('DOMContentLoaded', function(e) {
        var parsed = document.getElementById('parsed');
        parsed.style.width = window.innerWidth - 10 + "px";
        parsed.style.height = window.innerHeight - 10 + "px";
        parsed.value = '<div id="sura-body">' + parser.outputString + '</div>';
      }, false);
    </script>
    <script type="text/javascript" src="paneltext_da.js"></script>
      </head>
     <body>
     <textarea id="parsed"></textarea>
    </body>
    </html>

<p>使用しているデータ形式がjsonである各文にhtml""を追加する方法がまだわかりません。誰かが助けることができます。ありがとう

            .subtitle({
          start: 6.057, 
          end: 9.07, 
          text: "Det er et af de vigtigste værktøjer i hverdagen.", 
          target: "subtitlediv"
        })   
        .subtitle({
          start: 9.07, 
          end: 15.02, 
          text: "Det er i browseren vi læser nyheder, ser TV, checker email, snakker med venner, shopper, booker billetter -", 
          target: "subtitlediv"
        })
        .subtitle({
          start: 15.02, 
          end: 18.08, 
          text: "Tusindvis af de ting vi efterhånden gør på nettet.", 
          target: "subtitlediv"
        })
        .subtitle({
          start: 18.081, 
          end: 23.021, 
          text: "Derfor er det også vigtigt hvilken browser vi bruger, og hvordan den virker.", 
          target: "subtitlediv"
        })
4

3 に答える 3

1

split(' ')文がスペースで区切られた単語を使用して個々の単語を取得すると仮定すると、単に使用できます。

于 2011-10-17T19:41:21.503 に答える
0

私はあなたの機能をリファクタリングしました、そしてそれがあなたを助けることを願っています。以下のリンクをチェックしてください。

http://jsfiddle.net/Rdz3s/

于 2011-10-22T11:32:56.253 に答える
0
<script type="text/javascript">
  var parser = {
    outputString: '',
    split: function(input) {
      var words = [];
      var sentences = input.text.split('\\r?\\n');
      sentences.forEach(function(sentence){
        words.push("<p class='sentence'>"); // tagged start of sentence
        words = words.concat(sentence.split(' '));
        words.push("</p>"); // tagged end of sentence
      });
      return words;
    },
    subtitle: function(input) {
      var words = this.split(input);
      var duration = input.end - input.start;
      var timeStep = duration/words.length;
      for (var i=0, l=words.length; i<l; ++i) {
        var text = words[i];
        if (text.search(/<\/?p/) === -1) {
          var time = Math.round((input.start + i*timeStep) * 1000);              
          var safeText = text.replace('"', '\\"');
          parser.outputString += '<span class="arabic" m="'+time+'" oval="'+safeText+'">'+text+'</span>';
        }
      } //for
      return parser;
    } //subtitle
  }; //parser
于 2011-10-17T20:04:43.427 に答える