Я использую Google Translate, чтобы перевести содержимое текстовой области и заполнить другую текстовую область ответом API.В моем исходном текстовом поле я заменяю /n
переводы строк на <br />
разрывы строк, чтобы отправить запрос следующим образом:
var query = $('#textarea-src').val();
var query = encodeURIComponent(query);
var query = query.replace(/\n\r?/g, '<br />'); // replace new lines with line breaks
Затем я звоню в Google:
$.ajax({
url: apiUrl,
dataType: 'jsonp',
success: function(data) {
var response = data.data.translations[0].translatedText;
var response = response.replace(/ <br \/> ?/g, '\n'); // replace line breaks with new lines
$('#textarea-trg').val(response);
}
});
Проблема в том, что ответы Google имеют пробелы вокруг разрывов строк.Когда я запрашиваю "hello<br />world"
ответ по-французски это "bonjour \u003cbr /\u003e monde"
С помощью моего регулярного выражения replace(/ <br \/> ?/g, '\n')
я могу исправить это, но когда я запрашиваю два разрывных строки после друг друга "hello<br /><br />world"
, ответ равен "bonjour \u003cbr /\u003e\u003cbr /\u003e monde"
Как я могу исправить это?