如何使用JavaScript删除这些标记
我仍然在学习正则表达式(很明显),但我无法理解它,我想用正确的方法来做,而不是用很长的路来做。我怎样才能: 找到所有如何使用JavaScript删除这些标记,javascript,html,regex,xhtml,replace,Javascript,Html,Regex,Xhtml,Replace,我仍然在学习正则表达式(很明显),但我无法理解它,我想用正确的方法来做,而不是用很长的路来做。我怎样才能: 找到所有或并替换为\n,除了第一个和最后一个之外,在这种情况下,只需将其删除,对于,也替换为\n 用正则表达式或者别的什么。我是从jQuery$.get()返回中得到的。所以,请不要对我大发雷霆,我只是不知道怎么做。Javascript有很好的工具来处理xml(或xhtml)DOM。在正则表达式透视图中使用。要使第一个成为异常,必须识别使第一个失败的模式。例如,如果第一个之前的文本是abc
或并替换为\n
,除了第一个和最后一个之外,在这种情况下,只需将其删除,对于
,
也替换为\n
用正则表达式或者别的什么。我是从jQuery$.get()返回中得到的。所以,请不要对我大发雷霆,我只是不知道怎么做。Javascript有很好的工具来处理xml(或xhtml)DOM。在正则表达式透视图中使用。要使第一个
成为异常,必须识别使第一个失败的模式。例如,如果第一个
之前的文本是abcxyz
,即abcxyz
,则搜索每个之前没有abcxyz
的文本,以便第一个
不匹配。使用正则表达式,它将变成:(?
要使最后一个
成为例外,您必须识别一个模式,该模式使最后一个
失败。例如,如果最后一个
后面的文本是abcxyz
,即abcxyz
,则您搜索每个
后面不跟abcxyz
,以便最后一个>
不匹配。使用正则表达式,它将变成:(?!abcxyz)
尽管JavaScript支持正面和负面的前瞻,但不幸的是,JavaScript正则表达式既不支持正面的前瞻,也不支持负面的落后。事实上,有一些,但是,并不是所有的落后结构都可以模仿
因此,如果可能的话,尝试识别一种模式,该模式会使第一个
失败,但要使用负前瞻
要将第一个
和最后一个
替换为零,您可以反转上面使用的逻辑,您必须在单独的步骤中执行此操作
要将
,
,
替换为\n
,请搜索:
,然后替换为\n
,一种方法是允许浏览器为您执行此操作。在IE和WebKit中,您可以将HTML指定为
的内部HTML,并获取其内部文本无论如何,这在Firefox或Opera中都是行不通的。这里有一个稍微奇怪的Selection
对象用法:
function getInnerText(html) {
var text = "";
var div = document.createElement("div");
div.innerHTML = html;
document.body.appendChild(div);
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
sel.removeAllRanges();
var range = document.createRange();
range.selectNodeContents(div);
sel.addRange(range);
text = sel.toString();
sel.removeAllRanges();
} else if (document.body.createTextRange != "undefined") {
var range = document.body.createTextRange();
range.moveToElementText(div);
text = range.text;
}
document.body.removeChild(div);
return text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
}
强制性链接:好的,那么我该怎么做呢?它不必是正则表达式。你的问题太不明确了。例如,如果
元素之间有其他元素,或者如果有块级元素包含一些
元素,会发生什么?你能限制可能输入的范围吗?可能是也有助于退后一步,并解释用“\n”替换标记可以实现什么效果?不会有。这很简单。\n这样做是为了让客户端不必知道HTML,但保留间距。我个人这样做:“”+str.replace(/\n\n/g,)。replace(/\n/,“
”)+“”而现在我正在做这件事来将它转换回:str.replace(/|/g,“\n”).replace(/\n$/,”);嗯,我认为在这种情况下使用正则表达式是可以的,但如果我这样做的话,我会将操作反转,因此使用正则表达式和普通字符串处理的组合。即,在正则表达式之外处理开始的open p标记和结束的close p标记,然后将字符序列“”替换为“\n\n”,将字符序列“
”替换为“\n.”或者你知道..jquery或prototype或其他什么。好的,我得到了一个带有s和
s的大量文本字符串,我如何用jquery转换它以删除所有这些?