今天在简单处理它们之间的字符串互相转换时,
至于html转js基本上没什么问题,不外乎就是遇到有导致js解析出错的就加\就万事ok;
但是对于js字符串自己解析成html就感觉有点麻烦,不懂还可能碰到什么情况没考虑到,主要是考虑别人转的,非本程序转的,可能有些地方没有处理.
然后按照常理,js解析器应该是一个字到一个字的解析的,如果多次重头解析,肯定有问题出现.所以这时如果硬要自己解析,最好方式就是使用
replace(//, function(){})这样的解析是最好的方式.
考虑这时感觉有点麻烦了.突然间转念一想,我拷,根本没必要自已云解析呀.js自己解析就行了.唉........
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>js与html互相转换工具</title>
<style>
#jsCode,#htmlCode{width:99%;height:200px;border:1px solid black;}
</style>
</head>
<body>
<input type="button" value="html转js" id="html2js"/>
<input type="button" value="js转html" id="js2html"/>
<br/>
<br/>
<fieldset>
<legend>js代码框,请复制或在下面输入</legend>
<textarea id="jsCode" wrap="off">
</textarea>
</fieldset>
<br/>
<fieldset>
<legend>html代码框,请复制或在下面输入</legend>
<textarea id="htmlCode" wrap="off">
</textarea>
</fieldset>
<script>
function _(id) {
return document.getElementById(id);
}
_('js2html').onclick = function() {
try {
eval('_("htmlCode").value = ' + _('jsCode').value);
alert('转换完成');
} catch (e) {
alert('js代码输入框中并不是js字符串');
}
}
_('html2js').onclick = function () {
var code = _('htmlCode').value;
code = code.replace(/[\\\/'"]/g,"\\$0").replace(/[\r\n]+/g,"\\n");
_('jsCode').value = "'" + code + "'";
alert('转换完成');
}
</script>
</body>
</html>