我有一些JavaScript代碼將愚蠢的引號轉換爲contenteditable
中的智能引號。啞引號轉換爲智能引號Javascript問題
當您在他們僅關閉的行的開頭添加啞引號時,會出現問題。例如,你得到這個:
」dumb quotes」 instead of 「dumb quotes」
試用演示:http://jsfiddle.net/7rcF2/
的代碼我使用:
function replace(a) {
a = a.replace(/(^|[-\u2014\s(\["])'/g, "$1\u2018"); // opening singles
a = a.replace(/'/g, "\u2019"); // closing singles & apostrophes
a = a.replace(/(^|[-\u2014/\[(\u2018\s])"/g, "$1\u201c"); // opening doubles
a = a.replace(/"/g, "\u201d"); // closing doubles
a = a.replace(/--/g, "\u2014"); // em-dashes
return a };
任何想法?謝謝!
附:我吸在正則表達式...
@Cerberus:真棒,它的工作原理。謝謝! – Alex 2013-02-15 08:46:10
這不是一個很好的解決方案。它將事物的撇號轉換爲「它」。 – 2013-12-23 01:58:31
值得注意的是,我使用的動作正則表達式庫,顯然有一個(可能)廢話實現'\ b'。 – 2013-12-23 02:18:33