出于个人目的,我正在尝试使用div(z-index 1)和textarea(z-index 2,opacity 0.2)创建代码编辑器。
使用JQuery和keyUp事件,我在替换彩色标签中的所有标签后,使用div上的.html()替换textarea的文本。
但我有一个奇怪的但我无法解释。我使用以下代码:
str.replace('/</g', "<");
这似乎不起作用。写作&#34;测试&lt;&#34;将显示&#34; test&lt;&#34 ;,但是再写一封信会切断文本。
For example :
- Example : "test <i" will show "test ".
- Example 2 : "test < a <i" will show "test < a ".
- Keep in mind : Actually, "test <" show "test <", not "test <".
(示例似乎在stackoverflow上被破坏,所以我习惯缩进示例)
任何想法?
答案 0 :(得分:2)
javascript引擎将您的正则表达式视为字符串,然后搜索字符串,您需要删除引号
"test < a <i".replace(/</g, "<");
浏览器将关闭未关闭的代码,这就是您不会将<i
视为文字的原因
答案 1 :(得分:0)
使用此代码,例如:
str = str.replace(/</g, "<").replace(/>/g, ">").replace(/<title>/, "<span style='color:blue;'><title></span>");
Thanx!