我有一个html页面,我想替换几个关键字。以下是我的编码。 这是我的映射,我不知道怎么做多行。
var map = {
'*|NAME|*': '%NAME%',
'*|YEAR|*': '2014',
},
//multi line replace, how to add into map?
'*|IF:TARGETS|* *|CONTENT:TARGETS|*
*|END:IF|*'
这是替换代码。
originalText = $("#txt_original").val();
changeText = originalText.replace(/\*|NAME|\*/g, '%NAME%').replace(/\*|YEAR|\*/g, '2014');
我有3个问题。
如何正确逃避*,它尝试*,但结果却没有 匹配是我放的。
如何在多行中搜索关键字?
如果我的输入带有转义字符,当我输出它时,是否会产生 同样的?
然而,它并不像我预期的那样工作得很好。 谢谢!
*更新:JSFiddle:http://jsfiddle.net/vZRdn/
答案 0 :(得分:1)
经过几天的研究,我设法自己找到答案。
逃脱*|NAME|*
它不仅需要逃避*,它还需要逃避|答案是/\*\|NAME\|\*/
对于多行,关键字为\r
或\n
,但它也取决于您的新行情况。您可以参考What is a \r" and why would one use it with a \n?
3.我做的是因为我使用的是jQuery,所以我可以简单地使用.text()
来逃避它。
希望我的回答可以帮助其他人解决他们的问题。