Javascript split()会弄乱我的html标记
我有一个2500字的字符串,需要放在不同的Javascript split()会弄乱我的html标记,javascript,jquery,regex,string,split,Javascript,Jquery,Regex,String,Split,我有一个2500字的字符串,需要放在不同的DIV中。我使用text=text.split(“”)函数检索每个单词,然后填充DIV,直到DIV.scrollHeight高于DIV.offsetHeight,然后它转到下一个DIV 我遇到的问题是,2500字字符串中的HTML标记完全混乱: 它关闭我的标签,不显示标签,不显示'+TABLEAU.length); 我认为问题可能是您可能正在拆分标签,然后浏览器试图修复它,将其全部搞乱 使用您的算法,您可能会得到如下结果: <div>
DIV
中。我使用text=text.split(“”)
函数检索每个单词,然后填充DIV
,直到DIV.scrollHeight
高于DIV.offsetHeight
,然后它转到下一个DIV
我遇到的问题是,2500字字符串中的HTML标记完全混乱:
它关闭我的
标签,不显示
标签,不显示'+TABLEAU.length);
我认为问题可能是您可能正在拆分标签,然后浏览器试图修复它,将其全部搞乱
使用您的算法,您可能会得到如下结果:
<div>
<p>The text starts here
</div>
<div>
and ends here</p>
</div>
正文从这里开始
到此为止
这显然不是最好的事情。我认为您应该跟踪开始/结束标记,只有当它们全部关闭时才更改container div。我认为问题可能是您可能正在拆分标记,然后浏览器试图修复它,将其全部搞乱 使用您的算法,您可能会得到如下结果:
<div>
<p>The text starts here
</div>
<div>
and ends here</p>
</div>
正文从这里开始
到此为止
这显然不是最好的事情。我认为您应该跟踪开始/结束标记,只有当它们全部关闭时才更改container div。我认为问题可能是您可能正在拆分标记,然后浏览器试图修复它,将其全部搞乱 使用您的算法,您可能会得到如下结果:
<div>
<p>The text starts here
</div>
<div>
and ends here</p>
</div>
正文从这里开始
到此为止
这显然不是最好的事情。我认为您应该跟踪开始/结束标记,只有当它们全部关闭时才更改container div。我认为问题可能是您可能正在拆分标记,然后浏览器试图修复它,将其全部搞乱 使用您的算法,您可能会得到如下结果:
<div>
<p>The text starts here
</div>
<div>
and ends here</p>
</div>
正文从这里开始
到此为止
这显然不是最好的事情。我认为您应该跟踪开始/结束标记,只有当它们全部关闭时才更改container div我已经解决了这个问题。
我使用下面的正则表达式捕获单词和HTML标记,并使用下面的.replace()
在我的
之后添加空格(这是问题的根源)
•var texte=texte.替换(/
/g,
)代码>
•var TABLEAU=texte.match(/我已经解决了这个问题。
我使用下面的正则表达式捕获单词和HTML标记,并使用下面的.replace()
在我的
之后添加空格(这是问题的根源)
•var texte=texte.替换(/
/g,
);
•var TABLEAU=texte.match(/我已经解决了这个问题。
我使用下面的正则表达式捕获单词和HTML标记,并使用下面的.replace()
在我的
之后添加空格(这是问题的根源)
•var texte=texte.替换(/
/g,
);
•var TABLEAU=texte.match(/我已经解决了这个问题。
我使用下面的正则表达式捕获单词和HTML标记,并使用下面的.replace()
在我的
之后添加空格(这是问题的根源)
•var texte=texte.替换(/
/g,
);
•var TABLEAU=texte.match(/如果您想将标记内容视为单个单词,可以尝试使用var TABLEAU=texte.split(“”);
来代替
var nodes = $('<div/>',{ html: texte }).contents();
var TABLEAU = nodes.map(function(){
return this.nodeType === 3 ? $(this).text().split(' ') : this;
}).get();
var节点=$('',{html:texte}).contents();
var TABLEAU=nodes.map(函数(){
返回this.nodeType===3?$(this.text().split(“”):this;
}).get();
如果要将标记内容视为单个单词,可以尝试使用而不是var TABLEAU=texte.split(“”);
var nodes = $('<div/>',{ html: texte }).contents();
var TABLEAU = nodes.map(function(){
return this.nodeType === 3 ? $(this).text().split(' ') : this;
}).get();
var节点=$('',{html:texte}).contents();
var TABLEAU=nodes.map(函数(){
返回this.nodeType===3?$(this.text().split(“”):this;
}).get();
如果要将标记内容视为单个单词,可以尝试使用而不是var TABLEAU=texte.split(“”);
var nodes = $('<div/>',{ html: texte }).contents();
var TABLEAU = nodes.map(function(){
return this.nodeType === 3 ? $(this).text().split(' ') : this;
}).get();
var节点=$('',{html:texte}).contents();
var TABLEAU=nodes.map(函数(){
返回this.nodeType===3?$(this.text().split(“”):this;
}).get();
如果要将标记内容视为单个单词,可以尝试使用而不是var TABLEAU=texte.split(“”);
var nodes = $('<div/>',{ html: texte }).contents();
var TABLEAU = nodes.map(function(){
return this.nodeType === 3 ? $(this).text().split(' ') : this;
}).get();
var节点=$('',{html:texte}).contents();
var TABLEAU=nodes.map(函数(){
返回this.nodeType===3?$(this.text().split(“”):this;
}).get();
你能发布你用来生成Html的代码以及Html输出吗?完成。Html输出如下:JDLI:Ellen Page,Williem Dafoe,Hans Zimmer…De tels noms n'Entertient pas l'ambigüitéavec la Concept De film interactif?David Cage:人事部,je n'ai jamais Resensite De'ambiguétéce suj等。
where
标记应该在第一行句子的末尾,第二行在Cage
之后。你能发布生成Html的代码以及Html输出吗?完成。Html输出如下:JDLI:Ellen Page,Williem Dafoe,Hans Zimmer…De tels noms n'entriennent pas l“ambigüitéavec la concept de film interactif?”大卫·凯奇:人事部,je n'ai jamais Resensti d'ambiguïtéce sujet.
哪里
标签应该在第一行句子的末尾,第二行在Cage
之后。你能发布你用来生成Html以及Html的代码吗输出?完成。HTML输出如下:JDLI:Ellen Page,Williem Dafoe,Hans Zimmer…De tels noms n'entretient pa