2012-01-29 48 views
0

我需要将斜线添加到字符串中所有图像标记的末尾。我正在使用JavaScript正则表达式。以下是我迄今为止:如何将HTML转换为使用JavaScript的XHTML?

strInput = strInput.replace(/<img.*">/gm, "");

但我不知道该怎么用代替它呢?我将文本区域的值解析为XML,但由于图像标签是HTML,因此会生成错误。谢谢。

+0

确保太不给使用innerHTML插入XHTML,因为那将只是转换一切回到HTML。您需要使用document.createElement来创建xhtml。 – hobberwickey 2012-01-30 01:22:09

回答

0

你必须使用一个捕获组:

strInput = strInput.replace(/(<img[^>]+)>/gm, "$1 />"); 

这里的小提琴:http://jsfiddle.net/ChNnU/

+0

' icktoofay 2012-01-29 23:48:38

+0

@icktoofay - 这正是为什么[你不应该使用正则表达式来解析HTML](http://stackoverflow.com/questions/1732348/regex-match-open-tags -except-xhtml-self-contained-tags#answer-1732454)。 – 2012-01-29 23:50:22

+1

然后你为什么要把它作为答案? – icktoofay 2012-01-29 23:52:08

相关问题