javascript - 用于删除行尾空格模式的正则表达式

标签 javascript python regex

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

相关文章:

javascript - 如何更新我的 Chrome 扩展程序的工具提示或说明?

javascript - HTML5 Web Audio API 在使用 AudioBuffer 播放 PCM 数据时出现奇怪的噪音

regex - 用正则表达式提取单词

javascript - 对象内部的对象转换为单个对象

javascript - Laravel 中的 Stripe.js 错误

python - 在 Python 中将 LaTex 表读入数组

python - 如何检查我是否在Python的shell(有终端)中运行?

python - 录制OpenCV视频的最佳fps是多少?

java - Java 中大括号的正则表达式 Number 大括号 ({n})

c# - 在字符串中搜索子字符串