0
A
回答
1
如果您想讓報價變得十分簡單,知道如何使報價走向(左側或右側)並不容易。如果它不是那麼重要的是要完全理解這一點的時候,你可以使用正則表達式夫婦的:
function curlyQuotes(inp) {
return inp.replace(/(\b)'/, "$1’")
.replace(/'(\b)/, "‘$1")
.replace(/(\b)"/, "$1」")
.replace(/"(\b)/, "「$1")
}
curlyQuotes("'He said that he was \"busy\"', said O'reilly")
// ‘He said that he was 「busy」', said O’reilly
你會看到第二個「不正常變化。
1
的困難的部分是識別撇號,這將混淆單引號的數量。
對於雙引號,我認爲可以安全地找到它們,用左曲線替換奇數曲線,用右曲線替換偶數曲線。除非你有嵌套報價的情況。
來源是什麼?英文文本?碼?
0
我最近寫了一個排版美容引擎jsPrettify就是這麼做的。以下是我使用的算法(原始here)的報價單版本:
prettifyStr = function(text) {
var e = {
lsquo: '\u2018',
rsquo: '\u2019',
ldquo: '\u201c',
rdquo: '\u201d',
};
var subs = [
{pattern: "(^|[\\s\"])'", replace: '$1' + e.lsquo},
{pattern: '(^|[\\s-])"', replace: '$1' + e.ldquo},
{pattern: "'($|[\\s\"])?", replace: e.rsquo + '$1'},
{pattern: '"($|[\\s.,;:?!])', replace: e.rdquo + '$1'}
];
for (var i = 0; i < subs.length; i++) {
var sub = subs[i];
var pattern = new RegExp(sub.pattern, 'g');
text = text.replace(pattern, sub.replace);
};
return text;
};
相關問題
- 1. 替換Javascript中的脫字符號
- 2. 替換·符號
- 3. 替換&符號
- 4. 替換JavaScript中的所有加號符號字符串
- 5. 替換Javascript中的引號?
- 6. javascript替換問號
- 7. 用Javascript字符串替換尖括號?
- 8. 用jquery替換數字和符號/ javascript
- 9. Matlab中的符號替換
- 10. 如何使用JavaScript字符串替換方法替換「+」號?
- 11. 如何在Javascript中替換字符串中的撇號?
- 12. MATLAB符號替換
- 13. 的Javascript替換全球不工作插入符號符號
- 14. 如何在javascript字符串中替換圓括號標記
- 15. 字符串替換在JavaScript
- 16. javascript替換()函數從字符串中選擇符號
- 17. 使用替換方法在C#中替換爲\「符號
- 18. 的Javascript替換爲等號
- 19. 替換PostgreSQL中的符號字符
- 20. 在javascript數組中替換字符串
- 21. 在Javascript中查找和替換字符
- 22. 字符串替換在Javascript中
- 23. 。替換爲Javascript替換多個字符
- 24. 使用替換的Javascript替換字符()
- 25. 如何用一個單一符號替換JavaScript中的任意符號組?
- 26. javascript替換雙引號單引號
- 27. 在JavaScript換行符替換不工作:(
- 28. 如何替換JavaScript中的加號?
- 29. 用jQuery替換符號
- 30. 替換表情符號
您是不是指那些需要在自己的產品線上的每個產品? – Nosredna 2009-06-10 01:41:06