我有一个网站更新程序,可将每个 p 元素转换为文本区域,用户键入内容,然后将每个文本区域转换回 p ,然后获取生成的HTML并将其存储在SQL数据库中。
我的问题:在Internet Explorer中,当我去拿回HTML时,它稍微改变了html。例如:
// From this originally
<img id="headingpic"/><div id="myContent">
// To this
<img id="headingpic"/>
<div id="myContent">
这很重要,因为现在显示的下面的img和div之间存在垂直间隙。
有时IE会插入“\ n”,有时会插入“\ n”,有时则只是“\ n”。我试图提出一个正则表达式来删除这些结尾线(和间距),无论它们的模式如何。我在使用正则表达式时遇到很多困难,它们对我来说似乎太神秘了。
如果我解释了我的算法,您能否建议使用正则表达式实现此目的的“字符”?
我试图用javascript或python做到这一点:
# Python: should I use replace for this? Would my regular expression look something like this?
HTML_CONTENT.replace( "^[ \t\n\r]" ) # this removes all whitespace as far as I know
最佳答案
我会以不同的方式去做:
首先是按行溢出。
html_content_list = HTML_CONTENT.split("\n"); // Split by line;
然后使用
.trim()
删除所有空白(假设我们正在谈论字符串和一行,首先测试null)for(var i in html_content_list)
{
html_content_list[i] = html_content_list[i].trim();
}
然后,如果确实需要换行,则在最后添加:
html_content_list.join("\n");
关于javascript - 正则表达式删除换行符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7641664/