Замените несколько слов из предложения в текстовой области, используя JavaScript - PullRequest
0 голосов
/ 27 апреля 2018

Итак, я пишу предложение в поле текстовой области, куда я отправляю его для любых проверок правописания, используя API, который возвращает мне JSON слов с ошибками, так как мне заменить слова в предложении на основе индекса слов?

Я использую AngularJS 1 и Javascript

Пример:

«В публикациях, искусстве и коммуникации контент - это информация и опыт, нацеленные на»

Когда я отправляю на сервер, это выводит:

{"4":"communication","8":"information"}

Требуется вывод в текстовой области:

«В публикациях, искусстве и коммуникации контент - это информация и опыт, нацеленные на»

УГЛОВЫЙ КОД JS:

<div class="form-group">
    <textarea class="form-control" id="exampleFormControlTextarea1"
              rows="10" ng-model="textcontent" required>
    </textarea>
</div>


var myApp = angular.module('myApp', []);

myApp.controller('myCtrl', function($scope,$http) {

    $scope.dataautocorrect = { 
        "data":$scope.textcontent
    }

    $http.post(autocorrect,JSON.stringify($scope.dataautocorrect)).then(function (res){

        $scope.response = res.data;
        console.log(res);
        console.log( "Auto corrected Data");
    });

}

Так как мне заменить орфографические ошибки на исправленные на основе индекса JSON Word?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете использовать регулярное выражение, чтобы разбить слова на массив, а затем заменить слово в определенном индексе

//your string value from the textarea
var yourString = "In publishing, art, and communicatio, content is the inforation and experiences that are directed towards ";

//find the words in the string
var words = yourString.match(/\b(\w+)\b/g);
//words will then contain ["In", "publishing", "art", "and", "communicatio", "content", "is", "the", "inforation", "and", "experiences", "that", "are", "directed", "towards"]

//results from the spelling check api
var correctWords = {"4":"communication","8":"information"};

//loop through the keys in the json object and replace the misspelled word with the corrected word
Object.keys(correctWords).forEach(function(key) {
  var wordToReplace = words[key];
  yourString = yourString.replace(wordToReplace, correctWords[key]);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...