我已经在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>