使用javascript从HTML转换为文本时出现问题
我有下面的代码片段来将html转换为javascript,但是当绑定到textarea时,我似乎遇到了输出问题,我无法找出问题所在使用javascript从HTML转换为文本时出现问题,javascript,html,regex,Javascript,Html,Regex,我有下面的代码片段来将html转换为javascript,但是当绑定到textarea时,我似乎遇到了输出问题,我无法找出问题所在 var html_to_text = $('#source').val().replace(' ', ' ').replace(/<[^>]*>/g, '').replace(/(<br>)+/g, '<br>'); var html_to_text=$('#source').val().replace(
var html_to_text = $('#source').val().replace(' ', ' ').replace(/<[^>]*>/g, '').replace(/(<br>)+/g, '<br>');
var html_to_text=$('#source').val().replace('',).replace(/]*>/g'').replace(/(
)+//g,
);
当在警报上显示时,输出是正确的,但是,当警报绑定到文本区域时,文本区域上有大量空白。有人能帮我理解上面的代码片段可能有什么问题吗
我在的末尾添加了一个相同的工作示例。替换(/\s{2,}/g,'\n\r')。.replace(/\r?\n | \r/g,”)代码>
这一个只删除了多个换行符(取自),所以您仍然可以得到一个很好的格式
只需将断线替换为零即可
html_to_text = html_to_text.replace(/\n/g, '');
有什么问题吗?原始HTML中有很多空白(\n
和空格),并且删除了很多非空白。留下了很多空白。另外,您的第一个.replace()
调用没有使用正则表达式,因此它只替换第一个出现的(不存在的)
如何在警报上而不是在#目标文本区域上显示正确的输出。我遗漏了什么吗?我在警报和文本区域都看到了很多空白。是否需要将.replace(/\s{2,}/g,'\n\r')添加到链中?$('#source').val().replace(/]*>/g',).replace(/\n/g',)代码>1>正确的顺序是\r\n
而不是\n\r
2>,它将替换空格,\r\f换行符此答案在不丢失格式的情况下正确工作,并且具有@Anirudh建议的改进。