我在一个项目中工作,我被要求制作,它必须在IE8中以与预期相同的方式在其他浏览器中工作。查找与IE8兼容的文档片段中的数据
这是一个用于将HTML翻译成BBCode的系统,反之亦然。
我目前的问题是将HTML转换成BBCode(BBCode转换为HTML已解决(我希望))。
我有,作为一个例子,这种投入的翻译(这是一个扰流板)
<DL contenteditable=false><DT>Spoiler:</DT><DD class=codebox contenteditable=true>someTextToBeSpoiled</DD></DL>
如果有多条线路,它甚至更糟!
<DL contenteditable=false><DT>Spoiler:</DT><DD class=codebox contenteditable=true>Line1</DD><DD class=codebox contenteditable=true>Line2</DD><DD class=codebox contenteditable=true>line3</DD></DL>
什么都码我必须使用这个翻译必须是(有点)可改写成几乎任何HTML结构,应该与扰流板标签此特定代码工作工作的多面手码与其他任何代码一样。我知道每一个数据在哪里。
试图解决这个ie8(对于其他人使用更好的解决方案,使用方法不能在ie8和BTW,他们解决它很快)。
`var theOuterHTML = document.createElement('div'); theOuterHTML.innerHTML =“
var searchContent = regexEscape(theOuterHTML.innerHTML).replace("<!\\-\\- [email protected]!!# \\-\\->", "(.*?)")
searchContent = searchContent.replace("\n", "");
new RegExp(searchContent, "gm").exec(param1['context'].outerHTML)[1]
`
的问题是,VAR searchContent盯着所有的代码如下(更换是有,但似乎什么都不做): <DL contenteditable=false> <DT>Spoiler:</DT> <DD class=codebox contenteditable=true>someTextToBeSpoiled</DD></DL>
(是的,那些怪异的新生产线,没有理由存在)
替换似乎没有对这些新行做任何事,并且添加新行到输入是不可能的(由于ie8的不可预测性)。
最终文本是: [spoiler]someTextToBeSpoiled[/spoiler]
试问,这样的事情得到解决?我在这个整天被百思不得其解:(