我有一个网站更新程序,可将每个 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/

    10-12 00:24
    查看更多