Как мне остановить букву l от начала новой строки? - PullRequest
1 голос
/ 14 апреля 2019

Я создал текстовый флиппер на JavaScript для букмарклета.

Работает нормально, пока не увидит букву 'l'; в этот момент он начинает новую строку и разрывает предложение. (Завершающий период, вопросительный знак или восклицательный знак делают одно и то же, если они не находятся в середине большого текста, в этом случае они ведут себя хорошо.)

Я пытался сбежать \l Я попытался разбить его и заменить отдельно: str.replace(/\l/g,'ן');

Кажется, ничего не работает. Кроме этого и (.?!) - все работает хорошо.

Я знаю, что l: создает новую строку, и я предполагаю, что это то, что происходит.

https://jsbin.com/qaririjulo/edit?html,output

function flipText() {
  var x = document.getElementById("myTextarea").value;
  x = x.split("").reverse().join("");
  x = x.toLowerCase();

  var replaceChars = {
    'a': 'ɐ',
    'b': 'q',
    'c': 'ɔ',
    'd': 'p',
    'e': 'ǝ',
    'f': 'ɟ',
    'g': 'b',
    'h': 'ɥ',
    'i': 'ı',
    'j': 'ظ',
    'k': 'ʞ',
    'l': 'ן',
    'm': 'ɯ',
    'n': 'u',
    'o': 'o',
    'p': 'd',
    'q': 'b',
    'r': 'ɹ',
    's': 's',
    't': 'ʇ',
    'u': 'n',
    'v': 'ʌ',
    'w': 'ʍ',
    'x': 'x',
    'y': 'ʎ',
    'z': 'z',
    '\?': '¿',
    '!': '¡',
    '\,': '\'',
    '\'': '\,',
    '\.': '˙'
  };
  x = x.replace(/a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|!|\,|\'|\?|\./g, function(match) {
    return replaceChars[match];
  })

  document.getElementById("target").innerHTML = x;
}
<textarea id="myTextarea" placeholder="Enter Your Text Here" rows="3" cols="30"></textarea> <textarea id="target" placeholder="Flipped Text Will Appear Here" rows="3" cols="30" style="direction: rtl;">
</textarea>
<br />
<button type="button" onClick="flipText()">Flip it</button>
...