我想不通如何做一个用Javascript取代所有。Javascript:全部替换字符串问题
我在一个特殊的情况,因为我有一个更换地图这样的:
:) -> <img src="smile.png" title=":) ">
:( -> <img src="sad.png" title=":(">
>:( -> <img src="angry.png" title=">:(">
我目前循环这张地图上,并为每个条目,我使用string.replace(from, to)
。问题是我无法替换,例如>:(
,因为:(
已被第二个条目取代。如果我反转地图,那么title
属性中的:(
将被替换,从而导致真正的混乱。
希望你了解我的情况。我需要像PHP str_replace
这样的数组参数,它可以在一次命中中进行多次替换。
如果可以帮助,我使用Mootools。
你能给我们看一把小提琴吗? – gdoron 2012-04-15 20:19:47
在替换中使用全局集合的正则表达式! 'mystring.replace(/ something/g,'');' – adeneo 2012-04-15 20:19:52
不要这样做。确保您的用户可以控制他们的输入如何处理,例如通过使用Markdown。你冒着改变他们的输入的风险,特别是如果他们被允许使用HTML。如果你真的想这样做,那么就可以正确解析他们的输入,并且只对“常规”文本进行替换。 – Cameron 2012-04-15 20:21:40